6

ストアド プロシージャ内に動的挿入ステートメントを作成しています。

変数で sql 構文を構築し、それを で実行しEXEC(@VarcharVariable)ます。

SQL挿入は正常に機能しますが、SET @Record_ID = Scope_Identity()後で実行すると値が得られません。

どうすればこれをキャプチャできますか?にラップする必要がありEXECますか?

4

3 に答える 3

15

sp_executesql を使用した基本的な例

DECLARE @sql NVARCHAR(MAX)
DECLARE @Id INTEGER

SET @sql = 'INSERT MyTable (Field1) VALUES (123); SELECT @Id = SCOPE_IDENTITY()'
EXECUTE sp_executesql @sql, N'@Id INTEGER OUTPUT', @Id OUTPUT

-- @Id now has the ID in
于 2012-09-06T13:27:30.237 に答える
0

はい、それは scope_identity() の目的である動的SQLの一部である必要があります

于 2012-09-06T13:24:01.687 に答える