2 つのテーブルを同期する必要があります。
表A
Id Name
表B
Id Name RefID --It's a Foreign key, defined as primary key in Table "TableReference"
テーブル参照
RefID -- Identity Column, auto increment
に挿入するたびにTableA
に値を挿入し、その挿入された値をの列にコピーする必要があります。TableB
TableB
TableReference
RefId
TableB
私は何をしていますか?
私は SSIS を使用しているため、SSIS ベースのソリューションまたは SQL ベースのソリューションが必要です。Merge SQL コマンドを使用してテーブルをマージする方法は知っていますが、値を に挿入しTableRef
てコピーして戻すことができませんTableB
。どうすればこれを達成できるかわかりませんでした。SQL のユーザー定義関数では許可されていないためINSERT
、使用できません。
Merge TabaleB T
Using Table A S
On S.Id=T.Id
WHEN MATCHED THEN
UPDATE
T.ID=S.ID,
T.NAME=S.NAME
WHEN NOT MATCHED BY TARGET THEN
INSERT(S.ID,S.NAME, {Somehow here i need a function call that inserts in TableRef and Returns SCOPE_IDENTITY})
問題は、T-SQL 関数が許可されておらず、 after以外の TSQL が許可INSERT
されていないため、ストアド プロシージャをここで呼び出すことができないことです。Merge
INSERT
WHEN NOT MATCHED BY TARGET THEN