INSERT INTO Table_1 ( F_Text ) VALUES ('ABC');
SQLExecDirect: INSERT INTO "dbo"."Table_1" ("F_Text") VALUES (?) SQLExecDirect: SELECT @@IDENTITYログ上ではこの内容のみとなるけど、実際には、
- トランザクション:begin
- exec sp_executesql N'INSERT INTO "dbo"."Table_1" ("F_Text") VALUES (@P1)',N'@P1 nvarchar(10)',N'XXX'
- SELECT @@IDENTITY
- トランザクション:commit or rollback
複数のレコードが追加される追加 クエリの場合は、
INSERT INTO Table_1 ( F_Text ) SELECT T_Local1.F_Text FROM T_Local1;
- トランザクション:begin
- exec sp_executesql N'INSERT INTO "dbo"."Table_1" ("F_Text") VALUES (@P1)',N'@P1 nvarchar(10)',N'XXX'
- SELECT @@IDENTITY
- exec sp_executesql N'INSERT INTO "dbo"."Table_1" ("F_Text") VALUES (@P1)',N'@P1 nvarchar(10)',N'YYY'
- SELECT @@IDENTITY
※以降追加レコード分繰り返し - トランザクション:commit or rollback
INSERT INTO Table_1 ( F_Num ) SELECT Table_2.F_Num FROM Table_2;
SQLExecDirect: SELECT "dbo"."Table_2"."ID" FROM "dbo"."Table_2" SQLPrepare: SELECT "ID","F_Num" FROM "dbo"."Table_2" WHERE "ID" = ? SQLExecute: (GOTO BOOKMARK) SQLExecDirect: INSERT INTO "dbo"."Table_1" ("F_Num") VALUES (?) SQLExecDirect: SELECT @@IDENTITY SQLExecute: (GOTO BOOKMARK) SQLExecDirect: INSERT INTO "dbo"."Table_1" ("F_Num") VALUES (?) SQLExecDirect: SELECT @@IDENTITY SQLExecute: (GOTO BOOKMARK) SQLExecDirect: INSERT INTO "dbo"."Table_1" ("F_Num") VALUES (?) SQLExecDirect: SELECT @@IDENTITY
- 1行目:挿入元のテーブルから主キーのみ取得
- トランザクション:begin
- 2行目:挿入元のテーブルから1レコード取得
- 4行名:テーブルにレコード挿入
- 5行目:主キーの取得
以降2~5行目繰り返し - トランザクション:commit or rollback
0 件のコメント:
コメントを投稿