sql - 过程参数中的字符串连接

标签 sql sql-server sql-server-2008 tsql

我想做这样的事情:

declare @var varchar(50) = '2';
exec sp_myprocedure 'first', 'sec ' + @var

但我收到一个错误:
Incorrect syntax near '+'.

当然我可以在 exec 过程之前设置变量:
set @var = 'sec ' + @var;

但我不想要这个,因为我的代码中有很多执行,我不想创建百万变量。

最佳答案

你需要修复你的代码,抱歉。没有魔法可以使这合法:

EXEC dbo.procedure_name @var + 'constant';

另外,STOP using the sp_ prefix for stored procedures .

关于sql - 过程参数中的字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343354/

相关文章:

sql - 带数字的 SQL 异常常见列表

sql-server - 仅对非空列的唯一约束

mysql - 对两个值使用 INSERT INTO,仅对一个值使用 WHERE 子句

sql - 帮助优化子查询

sql - 如何优化两次具有相同子查询的查询?

sql-server - SQL - 语法不正确,需要 ID 或 QUOTED_ID

sql-server-2008 - SSRS 基于逗号分隔列表选择结果

sql-server-2008 - Reporting Services-报表之间的部署和全局/共享配置

mysql - SQL 子查询中的多个结果

mysql - 如何在 Visual Basic 6 中循环,我的 FOR 循环不起作用