คำถามติดแท็ก output-clause

1
แทรกด้วย OUTPUT ที่สัมพันธ์กับตารางคิวรีย่อย
ฉันกำลังแก้ไขโครงสร้างของฐานข้อมูล เนื้อหาหลายคอลัมน์ของตารางสถาบันการเงินจะต้องมีการโอนเข้ามาในตารางบุคคล FinancialInstitution เชื่อมโยงกับบุคคลที่มีคีย์ต่างประเทศ FinancialInstitution แต่ละรายการต้องการรหัสของบุคคลที่เกี่ยวข้อง ดังนั้นสำหรับแต่ละบรรทัดใหม่ที่แทรกใน Person ID ของบรรทัดใหม่นี้ (IDENTITY) จะต้องถูกคัดลอกกลับไปยังบรรทัดที่เกี่ยวข้องของ FinancialInstit วิธีที่ชัดเจนในการทำเช่นนี้คือรหัส 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
การใช้คอลัมน์แหล่งที่มาในส่วนคำสั่ง OUTPUT INTO ของคำสั่ง INSERT (SQL Server)
ฉันกำลังเขียนคำสั่งแทรกการประมวลผลแบบแบทช์และต้องการใช้ตาราง temp เพื่อติดตาม ID ที่ถูกแทรกแทนการวนลูปผ่านไอเท็มด้วยตัวเองและเรียก SCOPE_IDENTITY () สำหรับแต่ละแถวที่แทรก ข้อมูลที่ต้องถูกแทรกมี (ชั่วคราว) ของ 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'); …

2
นำ OUTPUT ของคำสั่ง UPDATE ไปยังตัวแปรโลคัล
ฉันต้องการทำสิ่งนี้: 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.