sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af OUTPUT efter INSERT for at få værdien af ​​identitetskolonnen ind i en (ikke-tabelværdi) variabel

Husk, at værdien af ​​output-sætningen er, at den kan returnere mere end én post og mere end ét felt. Så du kan udlæse både den naturlige nøgle og identiteten for et sæt data, så du også kan bruge sætteori til at indsætte flere poster i underordnede tabeller. Output er meget kraftfuldt, og det vil betale sig at vænne sig til at bruge det.

Der er i øjeblikket en fejl i scope_identity() (se link:http://connect.microsoft.com/SQLServer/feedback/details/328811/scope-identity-sometimes-returns-incorrect-value ), som Microsoft ikke har til hensigt at rette. Det burde give dig et fingerpeg om, hvorvidt du skal bruge output til nyudvikling, selvom det er en smule mere klodset for enkeltplader.



  1. PDOStatement::execute() returnerer sand, men dataene er ikke opdateret

  2. Sådan fungerer TIMEDIFF() i MariaDB

  3. JSON_OBJECTAGG() Funktion i Oracle

  4. Tillader MySQL tilbagekald i C, så jeg kan få besked, når der sker en ændring?