Krav: En lagret prosedyre, vi må sette inn et datastykke i tabellene A og B, hvor hovedforholdet mellom fremmednøkkel mellom tabell A og tabell B, kolonnene tilknyttet tabell B er primærnøklene til tabell A, vi må sette inn primærnøkkelverdien til tabell A etter at innsettingen er fullført, vi må hente primærnøkkelverdien til tabell A, og deretter sette inn dataene i tabell B.
Etter å ha satt inn en post, vil du umiddelbart hente returverdien til primærnøkkelen i databladet. Denne primærnøkkelen genereres automatisk.
Først, lag en midlertidig tabell for testing, koden er som følger:
@@IDENTITY
Etter at en INSERT, SELECT IN eller bulk copy-setning er fullført, inneholder @@IDENTITY den siste identifikasjonsverdien produsert av denne setningen. Hvis denne setningen ikke påvirker noen tabeller med identifiserte kolonner, returnerer @@IDENTITY NULL. Hvis flere rader settes inn, genereres flere identifikatorverdier, @@IDENTITY den siste identifikatorverdien returneres. Hvis denne setningen utløser en eller flere triggere som utfører en innsettingsoperasjon som gir en identifisert verdi, vil det å kalle @@IDENTITY umiddelbart etter at setningen er utført, returnere den siste identifikasjonsverdien generert av triggeren. Hvis setningen INSERT eller SELECT INTO feiler, eller massereplikering feiler, eller hvis transaksjonen rulles tilbake, blir ikke @@IDENTITY-verdien gjenopprettet til tidligere innstillinger.
UTGANG INNSATT
For INSERT kan du referere til den innsatte tabellen for å spørre om egenskapene til den nye raden
Testkoden er som følger:
Effekten er som følger:
|