SQL Server:过程调用,无法内联连接?
我使用的是SQLServer2008R2,我想知道是否还有其他方法可以编写类似的内容SQL Server:过程调用,无法内联连接?,sql,sql-server,Sql,Sql Server,我使用的是SQLServer2008R2,我想知道是否还有其他方法可以编写类似的内容 EXEC dbo.myProcedure (SELECT columnName FROM TableName) 或 因此,这些过程调用实际上可以工作,而不需要首先将所有内容放入变量。不确定“不首先将所有内容放入变量”是什么意思。然而,我有一个解决办法,尽管它可能违背我认为你的意思。但无论如何,它在这里 DECLARE @SQL VARCHAR(MAX) SET @SQL = '' SELECT @
EXEC dbo.myProcedure (SELECT columnName FROM TableName)
或
因此,这些过程调用实际上可以工作,而不需要首先将所有内容放入变量。不确定“不首先将所有内容放入变量”是什么意思。然而,我有一个解决办法,尽管它可能违背我认为你的意思。但无论如何,它在这里
DECLARE @SQL VARCHAR(MAX)
SET @SQL = ''
SELECT
@SQL = @SQL + 'EXEC SprocName ''' + ColumnName + ''''
FROM
MyTable
EXEC (@SQL)
当我需要基于表中的特定值执行存储过程时,我一直使用此方法 不允许在SP的内联执行中进行串联 假设您的
@myStringVariable
对某些文本和某些动态文本进行了折衷,您希望将其连接起来
在调用proc之前,为什么不计算它并将其分配给
@myStringVariable
。可能重复的No是不可能的。存储过程参数列表只能包括文字、变量、参数和@
系统函数。
DECLARE @SQL VARCHAR(MAX)
SET @SQL = ''
SELECT
@SQL = @SQL + 'EXEC SprocName ''' + ColumnName + ''''
FROM
MyTable
EXEC (@SQL)