如何在儲存過程中使用已準備語句?


如果我們想要在儲存過程中使用準備好的語句,則必須在 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)

更新時間:2020 年 6 月 22 日

1K+ 瀏覽量

開始您的 職業生涯

透過完成課程獲得認證

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