6

我正在使用 SQL Server 2008 R2 并且想知道是否还有另一种编写方式

EXEC dbo.myProcedure (SELECT columnName FROM TableName)

或者

EXEC dbo.myProcedure @myStringVariable + 'other text'

这样这些过程调用才能真正起作用而无需先将整个内容放入变量中。

4

2 回答 2

1

不允许在 SP 的内联执行中进行串联。

假设您@myStringVariable要对某些文本和某些动态文本进行妥协,然后将其连接起来。

@myStringVariable为什么在调用 proc 之前不计算它并分配给它。

于 2013-01-22T08:25:47.123 回答
0

不确定“不先将整个东西放入变量”是什么意思。但是,我有一个解决方案,即使它可能与我认为您的意思背道而驰。但无论如何,它就在这里。

DECLARE @SQL VARCHAR(MAX)

SET @SQL = ''

SELECT
    @SQL = @SQL + 'EXEC SprocName ''' + ColumnName + ''''
FROM
    MyTable 

EXEC (@SQL)

当我需要根据表中的特定值执行存储过程时,我一直使用这种方法。

于 2012-12-20T21:59:01.023 回答