We maken bijvoorbeeld een nieuwe tabel aan T_User met de volgende velden u_id, primaire sleutel, identificatie, user_name......
Laten we dan een nieuwe insert-operatie uitvoeren:
Invoegen in T_User(user_name,user_password,user_email,user_ip) waarden('admin', '123456', '32962435@qq.com', '58.20.158.20') ;
Op een dag willen we de waarde krijgen van de u_id die wordt ingevoegd bij het toevoegen van nieuwe ingevoegde data, en we weten dat we vanaf MSSQL2005 een output kunnen toevoegen om een bepaalde waarde in te voeren, en die kunnen we gebruiken om die te bereiken
Er zijn twee methoden; Eén is om direct een veld binnen te gaan, zoals:
Invoegen in T_User(user_name,user_password,user_email,user_ip) uitvoer inserted.u_id //uitvoer inserted.u_id moet vóór waarden worden geplaatst, niet aan het einde van de SQL-instructie, anders is het fout, ingevoegd is vastgesteld, Als je een veld wilt invoeren dat momenteel is ingevoegd, volg dan gewoon dit veld, wat we willen krijgen is u_id dus inserted.u_id waarden('admin', '123456', '32962435@qq.com', '58.20.158.20') ;
Een andere manier is om @@identity te gebruiken, @@identity een globale variabele is die in het systeem is ingebouwd, namelijk het invoeren van de laatste identifier, wat we in twee stappen of in één stap kunnen doen.
De code voor de éénstapsimplementatie is als volgt
Invoegen in T_User(user_name,user_password,user_email,user_ip) uitvoer @@identity waarden('admin', '123456', '32962435@qq.com', '58.20.158.20') ; |