Requisiti: Una procedura memorizzata, dobbiamo inserire un dato nelle tabelle A e B, dove la principale relazione di chiave esterna tra la tabella A e la tabella B, le colonne associate alla tabella B sono le chiavi primarie della tabella A, dobbiamo inserire il valore chiave primario della tabella A dopo il completamento dell'inserimento, dobbiamo ottenere il valore chiave primario della tabella A e poi inserire i dati nella tabella B.
Dopo aver inserito un record, vuoi ottenere immediatamente il valore di ritorno della chiave primaria nel suo datasheet. Questa chiave primaria viene generata automaticamente.
Per prima cosa, crea una tabella temporanea per testare, il codice è il seguente:
@@IDENTITY
Dopo che una istruzione INSERI, SELECT IN o copia in blocco si è completata, il @@IDENTITY contiene l'ultimo valore di identificazione prodotto da questa istruzione. Se questa istruzione non influisce su nessuna tabella con colonne identificate, @@IDENTITY restituisce NULL. Se vengono inserite più righe, vengono generati più valori di identificatore @@IDENTITY viene restituito l'ultimo valore dell'identificatore. Se questa istruzione attiva uno o più trigger che eseguono un'operazione di inserimento che produce un valore identificato, chiama@@IDENTITY rlo immediatamente dopo l'esecuzione dell'istruzione restituirà l'ultimo valore di identificazione generato dal trigger. Se l'istruzione INSERT o SELECT INTO fallisce o fallisce la replica di massa, oppure se la transazione viene annullata, il valore @@IDENTITY non viene ripristinato alle impostazioni precedenti.
OUTPUT INSERITO
Per INSERT, puoi fare riferimento alla tabella inserita per interrogare le proprietà della nuova riga
Il codice di prova è il seguente:
L'effetto è il seguente:
|