我最近从MSSQL迁移到了MySQL。
我想在MySQL 5.5存储例程中使用表变量(或等效的)来填充在线报告的数据集。
在MS SQL中,我会这样做
...
...
DECLARE @tblName TABLE
WHILE <condition>
BEGIN
Insert Row based on iteration value
END
...
...
根据我的理解,我无法在MySQL中声明表变量(如果我错了,请纠正我)如何在MySQL存储过程中实现上述逻辑?
答案 0 :(得分:1)
您可以创建一个表或临时表,并使用您需要的数据填充它。
答案 1 :(得分:0)
您正确理解该限制。 MySQL用户手册明确指出用户定义的变量不能引用表: http://dev.mysql.com/doc/refman/5.5/en/user-variables.html
用户变量旨在提供数据值。它们不能直接在SQL语句中用作标识符或标识符的一部分,例如在需要表或数据库名称的上下文中,或作为SELECT等保留字。
答案 2 :(得分:-1)