Cerințe: O procedură stocată, trebuie să introducem o bucată de date în tabelele A și B, unde relația principală de chei străine dintre tabelul A și tabelul B, coloanele asociate tabelului B sunt cheile principale ale tabelului A, trebuie să inserăm valoarea cheie primară a tabelului A după finalizarea inserării, trebuie să obținem valoarea cheii primare a tabelului A și apoi să introducem datele în tabelul B.
După introducerea unei înregistrări, vrei să obții imediat valoarea de returnare a cheii principale în fișa sa tehnică. Această cheie primară este generată automat.
Mai întâi, creează un tabel temporar pentru testare, codul fiind următorul:
@@IDENTITY
După ce o instrucțiune INSERT, SELECT IN sau bulk copy se finalizează, @@IDENTITY conține ultima valoare de identificare produsă de această afirmație. Dacă această afirmație nu afectează niciun tabel cu coloane identificate, @@IDENTITY returnează NULL. Dacă sunt inserate mai multe rânduri, se generează mai multe valori de identificare, @@IDENTITY ultima valoare de identificator este returnată. Dacă această instrucțiune declanșează unul sau mai multe declanșatoare care execută o operație de inserare ce produce o valoare identificată, apelarea @@IDENTITY imediat după executarea instrucțiunii va returna ultima valoare de identificare generată de declanșator. Dacă instrucțiunea INSERT sau SELECT INTO eșuează sau replicarea în masă eșuează, sau dacă tranzacția este anulată, valoarea @@IDENTITY nu este restaurată la setările anterioare.
IEȘIRE INSERATĂ
Pentru INSERT, poți face referire la tabelul inserat pentru a interoga proprietățile noului rând
Codul testului este următorul:
Efectul este următorul:
|