6

私はSQL Server 2008 R2を使用していますが、次のような別の書き方があるかどうか疑問に思っていました

EXEC dbo.myProcedure (SELECT columnName FROM TableName)

また

EXEC dbo.myProcedure @myStringVariable + 'other text'

これらのプロシージャ呼び出しが実際に機能するように、最初にすべてのものを変数に入れる必要はありません。

4

2 に答える 2

1

SP のインライン実行での連結は許可されていません。

@myStringVariable特定のテキストと特定の動的テキストの妥協点を連結すると仮定します。

@myStringVariableproc を呼び出す前に、計算して代入しないでください。

于 2013-01-22T08:25:47.123 に答える
0

「最初にすべてのものを変数に入れずに」とはどういう意味かわかりません。しかし、あなたが言っていることに反するかもしれませんが、私には解決策があります。しかし、ここではとにかくです。

DECLARE @SQL VARCHAR(MAX)

SET @SQL = ''

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

EXEC (@SQL)

テーブルの特定の値に基づいてsprocを実行する必要がある場合は、常にこのメソッドを使用します。

于 2012-12-20T21:59:01.023 に答える