我正在使用SQL Server 2008 R2并且想知道是否还有其他方法可以编写类似
的内容EXEC dbo.myProcedure (SELECT columnName FROM TableName)
或
EXEC dbo.myProcedure @myStringVariable + 'other text'
以便这些程序调用实际工作,不用将所有内容放入变量中。
答案 0 :(得分:1)
不允许内联执行SP的连接..
假设您要对某些文本和某些动态文本进行@myStringVariable
妥协,请将其连接起来。
为什么不在调用proc之前计算它并分配给@myStringVariable
。
答案 1 :(得分:0)
不确定你的意思是“没有先将所有内容放入变量中”。但是,我有一个解决方案,即使它可能违背我认为你的意思。但无论如何它在这里。
DECLARE @SQL VARCHAR(MAX)
SET @SQL = ''
SELECT
@SQL = @SQL + 'EXEC SprocName ''' + ColumnName + ''''
FROM
MyTable
EXEC (@SQL)
当我需要根据表中的特定值执行sproc时,我一直使用此方法。