Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:过程调用,无法内联连接?_Sql_Sql Server - Fatal编程技术网

SQL Server:过程调用,无法内联连接?

SQL Server:过程调用,无法内联连接?,sql,sql-server,Sql,Sql Server,我使用的是SQLServer2008R2,我想知道是否还有其他方法可以编写类似的内容 EXEC dbo.myProcedure (SELECT columnName FROM TableName) 或 因此,这些过程调用实际上可以工作,而不需要首先将所有内容放入变量。不确定“不首先将所有内容放入变量”是什么意思。然而,我有一个解决办法,尽管它可能违背我认为你的意思。但无论如何,它在这里 DECLARE @SQL VARCHAR(MAX) SET @SQL = '' SELECT @

我使用的是SQLServer2008R2,我想知道是否还有其他方法可以编写类似的内容

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)