声明一个“global”变量,该变量包含存储过程的范围内的表名。
我正在设计一个带有IF
语句的简单存储过程,我需要在代码的许多地方使用表的名称。
我真的不知道该怎么做( a.k.a。“我不知道语法”)。
在一些测试中,我尝试了以下代码:
[...]
BEGIN
DECLARE TableName = "Users";
[...]
INSERT INTO TableName ([...]) VALUES ([...]);
[...]
END
但我在INSERT INTO [...]
行附近收到(1064)SQL语法错误。
那么,有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
1,DECLARE var_name [, var_name] ... type [DEFAULT value]
[...]
BEGIN
modify //DECLARE TableName = "Users";
DECLARE TableName CHAR(20) DEFAULT 'Users';
[...]
INSERT INTO TableName ([...]) VALUES ([...]);
[...]
END
2,关于声明变量的更多内容请参考mysql
http://dev.mysql.com/doc/refman/5.5/en/declare-local-variable.html