用MySQL實現SQL Server的sp_executesql MySQL數據庫
關鍵字:MySQL sp_executesql
從MySQL 5.0 開始,支持了一個全新的SQL句法:
PREPARE stmt_name FROM preparable_stmt;
EXECUTE stmt_name [USING @var_name [, @var_name] ...];
{DEALLOCATE | DROP} PREPARE stmt_name;
通過它,我們就可以實現類似 MS SQL 的 sp_executesql 執行動態SQL語句!
同時也可以防止注入式攻擊!
為了有一個感性的認識,
下面先給幾個小例子:
mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
mysql> SET @a = 3;
mysql> SET @b = 4;
延伸閱讀
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/