Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีใช้ Prepared Statements ใน Stored Procedure


หากเราต้องการใช้ Prepared Statements ใน Stored Procedure มันต้องเขียนภายในบล็อก BEGIN และ END เพื่อเข้าใจ เราสร้างตัวอย่างที่เราสามารถดึงข้อมูลทั้งหมดจากตารางโดยส่งชื่อตารางเป็นพารามิเตอร์ของ Stored Procedure

ตัวอย่าง

mysql> DELIMITER // 
mysql> Create procedure tbl_detail(tab_name Varchar(40)) 
    -> BEGIN 
    -> SET @A:= CONCAT('Select * from',' ',tab_name); 
    -> Prepare stmt FROM @A; 
    -> EXECUTE stmt; 
    -> END // 
Query OK, 0 rows affected (0.00 sec)

ตอนนี้ เรียก Procedure นี้โดยให้ชื่อตารางเป็นพารามิเตอร์ และมันจะแสดงข้อมูลทั้งหมดของตารางนั้น

mysql> DELIMITER; 
mysql> CALL tbl_detail('Student'); 
+------+--------+ 
| Id   | Name   | 
+------+--------+ 
|    1 | Ram    | 
|    2 | Shyam  | 
|    3 | Gaurav | 
+------+--------+ 
3 rows in set (0.00 sec) 
Query OK, 0 rows affected (0.03 sec)