MySQL ストアド プロシージャの動的 SQL
MySQL バージョン 5.0.13 以降では、ストアド プロシージャ内で動的 SQL ステートメントを構築および実行する機能が提供されます。 。これにより、データベース操作の柔軟性とカスタマイズが向上します。
ストアド プロシージャで動的 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 ;
ストアド プロシージャを使用するには、次のように目的のテーブル名と列名を指定してストアド プロシージャを呼び出すことができます。以下に続きます:
CALL dynamic('customers', 'name');
これにより、次の SQL ステートメントが実行されます:
SELECT name FROM customers;
注:
以上がMySQL ストアド プロシージャで動的 SQL を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。