SQL INSERT Query中包含String变量

时间:2011-12-01 11:43:33

标签: sql

我有一个SQL查询,我需要在其中插入一个字符串变量,但是我收到错误。

下面是我的SQL INSERT查询:

Insert into User(Employee, Name, Address, Role, Action) 
Select distinct ur1.Employee, ur1.Name, ur1.Address, ur1.Role, ['%" + action + "%'] as [Action] FROM UserRoles ur1)";

string action="insert delete query in database"

我想将 string action插入到我的INSERT语句中,但是我遇到了很多语法错误。

有人可以帮我查询吗?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

字符串连接的SQL运算符是||

答案 1 :(得分:1)

Insert into User(Employee, Name, Address, Role, Action) 
Select distinct ur1.Employee, ur1.Name, ur1.Address, ur1.Role,'insert delete query in database' 
FROM UserRoles ur1;

答案 2 :(得分:1)

你应该试试

INSERT INTO User (Employee, Name, Address, Role, Action) 
SELECT DISTINCT ur1.Employee, ur1.Name, 
                ur1.Address, ur1.Role, 
                ['%insert delete query in database%'] 
FROM UserRoles ur1

答案 3 :(得分:1)

action变量连接到脚本其余部分的部分在连接后看起来像这样:

…
  ['the string value goes here'] as [Action]
…

我现在要猜测一下,但由于方括号,它看起来好像在SQL Server或Sybase上。现在,在这两个产品中的任何一个中,方括号中的字符序列将被视为分隔标识符。使用示例中的括号对[Action]有意义,但对于脚本的['...']部分来说似乎毫无意义。你更有可能只是简单'...',即没有方括号,它只代表一个字符串常量。

还有一点需要注意:SQL语句末尾有一个不匹配的右括号。