Například vytvoříme novou tabulku T_User s následujícími poli u_id, primární klíč, identifikátor user_name......
Pak provedeme novou operaci vložení:
vložte do T_User(user_name,user_password,user_email,user_ip) hodnoty('admin','123456','32962435@qq.com','58.20.158.20');
Jednoho dne chceme získat hodnotu u_id, která se vloží při přidání nových vložených dat, a víme, že od MSSQL2005 můžeme přidat výstup pro zadání určité hodnoty a použít ho k dosažení
Existují dvě metody; Jedním z nich je vstup přímo do pole, například:
Insert do T_User(user_name,user_password,user_email,user_ip) výstupní inserted.u_id inserted.u_id //výstup musí být umístěn před hodnotami, nikoli na konci SQL příkazu, jinak bude nesprávný, insert je fix, Pokud chcete zadat pole, které je právě vložené, stačí ho následovat, chceme získat u_id so inserted.u_id hodnoty('admin','123456','32962435@qq.com','58.20.158.20');
Další možností je použít @@identity, @@identity je globální proměnná zabudovaná v systému, což znamená zadání posledního identifikátoru, což můžeme udělat ve dvou krocích nebo v jednom
Kód pro jednokrokovou implementaci je následující
vložte do výstupu T_User(user_name,user_password,user_email,user_ip) @@identity hodnoty('admin','123456','32962435@qq.com','58.20.158.20'); |