sql >> Databasteknik >  >> RDS >> Sqlserver

Använd OUTPUT efter INSERT för att få värdet på identitetskolumnen till en variabel (icke-tabellvärde).

Kom ihåg att utdatasatsens värde är att den kan returnera mer än en post och mer än ett fält. Så du kan mata ut både den naturliga nyckeln och identiteten för en uppsättning data så att du också kan använda uppsättningsteori för att infoga flera poster i underordnade tabeller. Output är mycket kraftfullt och det kommer att löna sig att vänja sig vid att använda det.

Det finns för närvarande ett fel i scope_identity() (se länk:http://connect.microsoft.com/SQLServer/feedback/details/328811/scope-identity-sometimes-returns-incorrect-value ) som Microsoft inte har för avsikt att fixa. Det borde ge dig en ledtråd om huruvida du ska använda utdata för nyutveckling även om det är lite stökigare för enstaka poster.



  1. .NET Core 2.0 med MySQL:Angiven nyckel var för lång; max nyckellängd är 3072 byte

  2. MySql får räkning av varje typ av element i en kolumn

  3. MySQL Statement Cancellation Timer kunde inte stoppas

  4. Hur returnerar jag json från Play Scala-kontroller?