首頁 >資料庫 >mysql教程 >如何在 MySQL 預存程序中建置和使用動態 SQL?

如何在 MySQL 預存程序中建置和使用動態 SQL?

Barbara Streisand
Barbara Streisand原創
2024-12-23 07:19:17712瀏覽

How Can I Build and Use Dynamic SQL within MySQL Stored Procedures?

在MySQL 儲存過程中建構動態SQL

動態SQL,在MySQL 5.0.13 中引入,讓儲存程序在執行時建構SQL 語句.

如何在儲存中建置和使用動態SQL流程:

建立預存程序如下:

DELIMITER //
CREATE PROCEDURE dynamic(IN tbl CHAR(64), IN col CHAR(64))
BEGIN
    SET @s = CONCAT('SELECT ',col,' FROM ',tbl );
    PREPARE stmt FROM @s;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END
//
DELIMITER ;

說明:

  • 定義@s 變數為儲存動態SQL 語句。
  • 使用 PREPARE 語句準備動態 SQL 語句
  • 使用 EXECUTE 執行準備好的語句。
  • 使用 DEALLOCATE PREPARE 取消分配準備好的語句。

範例:

從指定的欄位中選擇特定的清單:

CALL dynamic('employees', 'salary');

注意:注意:

函數或觸發器不支援動態SQL。有關更多信息,請參閱 MySQL 文件。

以上是如何在 MySQL 預存程序中建置和使用動態 SQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn