0

目标

声明一个“全局”变量,该变量包含存储过程范围内的表名称。

场景

我正在设计一个内部带有语句的简单存储过程IF,并且我需要在代码的许多地方使用表的名称。

问题

我真的不知道该怎么做(又名“我不知道语法”)。

我已经做过的

在一些测试中,我尝试了以下代码:

[...]

BEGIN
DECLARE TableName = "Users";

    [...]

    INSERT INTO TableName ([...]) VALUES ([...]);

    [...]
END

但是我收到了一个(1064) SQL 语法INSERT INTO [...]错误。

那么,有人可以帮我解决这个问题吗?

4

1 回答 1

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

于 2013-09-24T03:12:17.673 回答