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('employees', 'salary');
注:
関数またはトリガーでは動的 SQL はサポートされていません。詳細については、MySQL のドキュメントを参照してください。
以上がMySQL ストアド プロシージャ内でダイナミック SQL を構築して使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。