我想在我的程序中进行动态查询。SQL Server 为此类任务提供了简洁的 sp_executesql 过程,MySQL 中是否有任何东西可以帮助我实现类似的功能?
问问题
5672 次
2 回答
7
AFAIK 没有什么完全相同的。但是,您可以使用准备好的语句,例如:
mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
mysql> SET @a = 3;
mysql> SET @b = 4;
mysql> EXECUTE stmt1 USING @a, @b;
+------------+
| hypotenuse |
+------------+
| 5 |
+------------+
mysql> DEALLOCATE PREPARE stmt1;
从这里复制: http: //dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
于 2013-08-07T07:12:04.810 回答
3
为此,您可能必须使用 MySQL 使用准备好的语句:
SET @query = 'INSERT INTO tbl (a) VALUES (?)';
PREPARE stmt FROM @query;
...
SET @param = 'hello';
EXECUTE stmt USING @param;
...
DEALLOCATE PREPARE stmt;
于 2013-08-07T07:11:54.953 回答