タグ付けされた質問 「output-clause」

1
サブクエリテーブルに関連付けられたOUTPUTで挿入
データベースの構造を変更しています。テーブルFinancialInstitutionのいくつかの列の内容は、テーブルPersonに転送する必要があります。FinancialInstitutionは、外部キーを持つPersonにリンクされています。各金融機関には、対応する個人のIDが必要です。そのため、Personに挿入された新しい行ごとに、この新しい行のID(IDENTITY)をFinancialInstitutionの対応する行にコピーする必要があります。 これを実行する明白な方法は、反復T-SQLコードです。しかし、セットベースの操作でのみ可能かどうかを知りたいと思っています。 そのようなリクエストの内部レベルは次のようなものになると想像しました。 INSERT INTO Person (Street1, Number1, City1, State1, PostCode1, CountryId1, WorkDirectPhone1, Fax1, Email1) OUTPUT inserted.Id, FinancialInstitution.Id SELECT Id, Street, Number, City, [State], PostCode, CountryId, PhoneNumber, Fax, Email FROM FinancialInstitution; 残念ながら、OUTPUTはそのように相関できないようです...

2
INSERTステートメントのOUTPUT INTO句でのソース列の使用(SQL Server)
私はバッチ処理の挿入ステートメントを書いていて、自分でアイテムをループして挿入された各行に対してSCOPE_IDENTITY()を呼び出す代わりに、一時テーブルを使用して挿入されたIDを追跡したいと考えています。 挿入する必要のあるデータには、(一時的な)IDが他のデータにリンクする(一時的な)IDがあるため、実際のIDと一時的なIDの相互参照が必要です。 これは私がこれまでに持っているものの例です: -- The existing table DECLARE @MyTable TABLE (ID INT IDENTITY(1,1), [Name] NVARCHAR(MAX)); -- My data I want to insert DECLARE @MyInsertData TABLE (ID INT, [Name] NVARCHAR(MAX)); INSERT INTO @MyInsertData ( ID,Name) VALUES ( -1 , 'bla'),(-2,'test'),(-3,'last'); DECLARE @MyCrossRef TABLE ([NewId] INT, OldId INT); INSERT INTO @MyTable ( …

2
UPDATEステートメントのOUTPUTをローカル変数に送る
私はこれをしたいと思います: DECLARE @Id INT; UPDATE Logins SET SomeField = 'some value' OUTPUT @Id = Id WHERE EmailAddress = @EmailAddress -- this is a parameter of the sproc これは可能ですか?ローカルテーブル変数を宣言してそこに出力を送信できることはわかっていますが、可能であればスキップすることをお勧めします
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.