Ad esempio, creiamo una nuova T_User di tabella con i seguenti campi u_id, chiave primaria, identificatore user_name......
Allora eseguiamo una nuova operazione di inserimento:
Inserire in T_User(user_name,user_password,user_email,user_ip) valori ('admin','123456','32962435@qq.com','58.20.158.20');
Un giorno vogliamo ottenere il valore del u_id inserito quando si aggiungono nuovi dati inseriti, e sappiamo che da MSSQL2005 in poi possiamo aggiungere un output per inserire un certo valore, e poterlo usare per ottenerlo
Esistono due metodi; Uno è inserire direttamente un campo, ad esempio:
inserire in T_User(user_name,user_password,user_email,user_ip) inserted.u_id //output inserted.u_id deve essere posizionato prima dei valori, non alla fine dell'istruzione sql, altrimenti sarà sbagliato, inserito è fisso, Se vuoi inserire un campo attualmente inserito, basta seguire questo campo, quello che vogliamo ottenere è u_id così inserted.u_id valori ('admin','123456','32962435@qq.com','58.20.158.20');
Un altro modo è usare @@identity, @@identity è una variabile globale integrata nel sistema, che consiste nell'inserire l'ultimo identificatore, cosa che possiamo fare in due passaggi o in un solo passaggio
Il codice per l'implementazione a un solo passaggio è il seguente
Inserire in T_User(user_name,user_password,user_email,user_ip) @@identity valori ('admin','123456','32962435@qq.com','58.20.158.20'); |