まだSQL開発は初めてですが、学習は非常に高速です。
このシナリオはエンティティ フレームワークで解決できますが、それは選択肢ではありません。
2 つのテーブルにデータを挿入する必要があります。以下に状況を説明します。
メイン テーブルには ID キーがあり、キーに関連付けられたレコードに関連するデータが挿入されるときに、サブ テーブルにもそのキーが必要です。
ソース情報は、他のいくつかのテーブルから取得されています。メイン テーブルまたはサブ テーブルの構造を変更できません。
カーソルの使用を避けようとしていますが、代替手段がありません。
output insert.main_id を #temp1 に使用してみました - これは機能しますが、Sub_ID をその一時テーブルに入れる方法も見つかりません。Sub_ID はソースからのものです。
彼らは、データをメインテーブルに挿入し、ソースのハッシュをメインテーブルと照合することで、対応するサブテーブルに Main_ID を挿入することができます。
例
TABLE MAIN
Main_ID PK, bigint,not null - identity
FirstName varchar(15) not null
LastName varchar(15) not null
Misc1 varchar(15)null
Misc2 varchar(15) null
Misc3 varchar(15) null
TABLE SUB
Main_ID PK,FK,bigint, not null
Sub_ID int null
Misc4 varchar(15)
Misc5 varchar(15)
Misc6 varchar(15)
「output insert.main_id」とともに Sub_ID を一時テーブルにキャプチャする方法はありますか?
現在、ソースからのハッシュとメイン テーブルに挿入されたレコードを照合して、サブ テーブルに挿入される Main_ID を取得しています。
Main_ID が Main テーブルで生成されたときに Sub_ID を一時テーブルに取り込むことができれば、プロセスははるかに高速になります。カーソルの使用を避けたかったのですが、今のところそれが最善の選択肢だと思います。