SQL Server:程序调用,内联连接不可能?

时间:2012-08-19 13:11:40

标签: sql sql-server

我正在使用SQL Server 2008 R2并且想知道是否还有其他方法可以编写类似

的内容
EXEC dbo.myProcedure (SELECT columnName FROM TableName)

EXEC dbo.myProcedure @myStringVariable + 'other text'

以便这些程序调用实际工作不用将所有内容放入变量中。

2 个答案:

答案 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时,我一直使用此方法。