Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 6787|Risposta: 1

[Fonte] SQL Server restituisce la chiave primaria dopo l'inserimento

[Copiato link]
Pubblicato su 07/07/2020 11:55:16 | | | |
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:







Precedente:Query condizionale MSSQL WHERE ignora la condizione
Prossimo:Aggregazione di punti della mappa Baidu
 Padrone di casa| Pubblicato su 07/07/2020 13:22:22 |
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com