をsp_executesqlをするテーブル変数を渡す:私はエラーを取得する私はsp_executesqlをプロシージャにテーブル変数を渡すようにしようとしている
DECLARE @params NVARCHAR(MAX)
SET @params = '@workingData TABLE (col1 VARCHAR(20),
col2 VARCHAR(50))'
EXEC sp_executesql @sql, @params, @workingData
:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.
私は 'の後に列指定を省略してみました表'。また、動的SQL内で変数として表を宣言しようとしました。しかし、運がない...
この手順では、TABLE変数はパラメータとして渡すことはできません。ところで、私はMSSQL2008 R2を実行しています。
は、私は別のプロシージャから作業データをロードするため#workingDataのような局所的な一時テーブルを使用することに興味がない:私は一時varaibleに直接行うことはできません
INSERT INTO @workingData
EXEC myProc @param1, @param2
(?右)。.. 。
@workingdata変数の内容は何ですか? – NotMe
すべての変数の内容は何ですか?私はこれがあなたが何を期待しているのかは考えていません。 – Donnie
@workingData TABLEを使用して、いくつかのプロシージャで使用される一般的な結果セットを返す別のプロシージャの結果を格納します。これは冗長なコードを減らすことです:INSERT INTO @workingData EXEC someProc – Alex