Wie kann der Identitätsspaltenwert aus der Tabelle zurückgeben und andere Tabelle in SQL server insert?

Ich bin Anfänger in SQL server und in meiner database habe ich zwei Tabellen:

  • Tabelle 1 mit einer ID-Typ- bigint identity(1, 1)
  • Tabelle 2 mit dem table1ID und table1ID .

Ich möchte insert (in Tabelle 1) und generiere einen id-Wert. Dann werde ich diesen id-Wert in table1ID von Tabelle 2 insert.

Ich ändere die Tabelle dazu und schreibe diese Frage:

 insert into Interconnect_Traffic_Analysis_MAIN (Code_Op,Name_Op,Shomare_Tel,Duration,table1ID>>table1 id must save in this column) select t7,t8,t9,t10 from Interconnect_Traffic_Analysis_Temp; 

Aber wie kann ich das umsetzen?

Versuche dies:

 -- declare a variable to hold your newly created IDENTITY value DECLARE @Identity BIGINT -- insert your values into the first table INSERT INTO dbo.Table1(list-of-columns) VALUES(list-of-values); -- get the newly generated IDENTITY value into your variable SET @Identity = SCOPE_IDENTITY(); -- use that variable in your second INSERT INSERT INTO dbo.Table2(table1Id) VALUES(@Identity) 

Aktualisieren:

Mit der aktualisierten Frage mit der INSERT statement verwenden Sie diesen Code, um den @Identity Wert @Identity :

 INSERT INTO dbo.Interconnect_Traffic_Analysis_MAIN(Code_Op, Name_Op, Shomare_Tel, Duration, table1ID) SELECT t7, t8, t9, t10, @Identity FROM Interconnect_Traffic_Analysis_Temp; 

Du kannst das versuchen:

 insert into TableOne values ('abc'); insert into tableTwo values ((select SCOPE_IDENTITY())); 

select SCOPE_IDENTITY() gibt Ihnen die zuletzt eingefügte ID.

Siehe diese SQL-Geige