【发布时间】:2013-08-08 10:31:49
【问题描述】:
我想在我的程序中进行动态查询。 SQL Server 为此类任务提供了简洁的 sp_executesql 过程,MySQL 中是否有任何东西可以帮助我实现类似的功能?
【问题讨论】:
-
this 是您要找的吗?
标签: mysql sql-server dynamic-sql sp-executesql
我想在我的程序中进行动态查询。 SQL Server 为此类任务提供了简洁的 sp_executesql 过程,MySQL 中是否有任何东西可以帮助我实现类似的功能?
【问题讨论】:
标签: mysql sql-server dynamic-sql sp-executesql
您可能必须使用 prepared statements 来使用 MySQL:
SET @query = 'INSERT INTO tbl (a) VALUES (?)';
PREPARE stmt FROM @query;
...
SET @param = 'hello';
EXECUTE stmt USING @param;
...
DEALLOCATE PREPARE stmt;
【讨论】:
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
【讨论】: