MySQL PROCEDURE วิธีใช้ชื่อ Table จาก argument เเละเงื่อนไขอื่นๆ

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 10957
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

MySQL PROCEDURE วิธีใช้ชื่อ Table จาก argument เเละเงื่อนไขอื่นๆ

โพสต์โดย thatsawan » 24/09/2016 1:32 pm

กรณีที่ต้องการใส่เงื่อนไขเพิ่มเข้าไป
จะใช้

โค้ด: เลือกทั้งหมด

',ตัวแปร ,'  

โค้ด: เลือกทั้งหมด

CREATE DEFINER=`root`@`localhostPROCEDURE `test_table_name`(IN `table_name_tmpVARCHAR(40), IN `idINT)
    
NO SQL
BEGIN
SET 
@t1 =CONCAT('SELECT * FROM ',table_name_tmp ,' where id ='id);
 
PREPARE stmt3 FROM @t1;
 
EXECUTE stmt3;
 
DEALLOCATE PREPARE stmt3;
END



ในตัวอย่างเราจะให้ Where ตาม Id เราก็ต้องรับค่า argument มา 2 ตัว 1 ชื่อตาราง 2 เป็น ID

โค้ด: เลือกทั้งหมด

call test_table_name('fu1dm_assets',1)  

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน