Napríklad vytvoríme novú tabuľku T_User s nasledujúcimi poliami u_id, primárny kľúč, identifikátor user_name......
Potom vykonáme novú operáciu vloženia:
vložte do T_User(user_name,user_password,user_email,user_ip) hodnoty ('admin','123456','32962435@qq.com','58.20.158.20');
Jedného dňa chceme získať hodnotu u_id, ktorá sa vloží pri pridávaní nových vložených dát, a vieme, že od MSSQL2005 môžeme pridať výstup na zadanie určitej hodnoty a použiť ho na jeho dosiahnutie
Existujú dve metódy; Jedným z nich je vstup priamo do poľa, napríklad:
vložiť do T_User(user_name,user_password,user_email,user_ip) výstup inserted.u_id //výstup inserted.u_id musí byť umiestnený pred hodnotami, nie na konci SQL príkazu, inak bude nesprávny, vloženie je fixované, Ak chcete zadať pole, ktoré je práve vložené, stačí sledovať toto pole, chceme dostať u_id tak inserted.u_id hodnoty ('admin','123456','32962435@qq.com','58.20.158.20');
Ďalším spôsobom je použiť @@identity, @@identity je globálna premenná zabudovaná v systéme, ktorá zadáva posledný identifikátor, čo môžeme urobiť v dvoch alebo jednom krokoch
Kód pre jednokrokovú implementáciu je nasledovný
vlož do výstupu T_User(user_name,user_password,user_email,user_ip) @@identity hodnoty ('admin','123456','32962435@qq.com','58.20.158.20'); |