我正在使用 SQL Server 2008 R2 并且想知道是否还有另一种编写方式
EXEC dbo.myProcedure (SELECT columnName FROM TableName)
或者
EXEC dbo.myProcedure @myStringVariable + 'other text'
这样这些过程调用才能真正起作用,而无需先将整个内容放入变量中。
我正在使用 SQL Server 2008 R2 并且想知道是否还有另一种编写方式
EXEC dbo.myProcedure (SELECT columnName FROM TableName)
或者
EXEC dbo.myProcedure @myStringVariable + 'other text'
这样这些过程调用才能真正起作用,而无需先将整个内容放入变量中。
不允许在 SP 的内联执行中进行串联。
假设您@myStringVariable
要对某些文本和某些动态文本进行妥协,然后将其连接起来。
@myStringVariable
为什么在调用 proc 之前不计算它并分配给它。
不确定“不先将整个东西放入变量”是什么意思。但是,我有一个解决方案,即使它可能与我认为您的意思背道而驰。但无论如何,它就在这里。
DECLARE @SQL VARCHAR(MAX)
SET @SQL = ''
SELECT
@SQL = @SQL + 'EXEC SprocName ''' + ColumnName + ''''
FROM
MyTable
EXEC (@SQL)
当我需要根据表中的特定值执行存储过程时,我一直使用这种方法。