如何在儲存過程中使用預處理語句?


如果我們想在儲存過程中使用預處理語句,則必須將其編寫在 BEGIN 和 END 塊內。為了理解它,我們建立了一個示例,藉助該示例,我們可以透過將表名作為儲存過程的引數來獲取表中的所有記錄。

示例

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)

現在,透過給予表名作為其引數來呼叫此過程,它將顯示該表的所有記錄。

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)

更新時間: 20-6-2020

1K+ 瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.