Наприклад, ми створюємо нову таблицю T_User з такими полями u_id, первинний ключ, ідентифікатор user_name......
Тоді виконаємо нову вставку:
вставити у T_User(user_name,user_password,user_email,user_ip) цінності ('адміністратор','123456','32962435@qq.com','58.20.158.20');
Одного дня ми хочемо отримати значення u_id, яке вставляється при додаванні нових вставлених даних, і ми знаємо, що з MSSQL2005 ми можемо додати вихід для введення певного значення і використати його для досягнення
Існує два методи; Один із них — безпосередньо входити у поле (наприклад:
Вставити у T_User(user_name,user_password,user_email,user_ip) вихід inserted.u_id //output inserted.u_id має розміщуватися перед значеннями, а не в кінці SQL-оператора, інакше буде неправильно, вставлений фіксований, Якщо ви хочете ввести поле, яке вже вставлене, просто слідуйте за цим полем, ми хочемо отримати u_id inserted.u_id цінності ('адміністратор','123456','32962435@qq.com','58.20.158.20');
Інший спосіб — використовувати @@identity, @@identity є глобальною змінною, вбудованою в систему, тобто вводити останній ідентифікатор, що можна зробити у два або за один крок
Код одноетапної реалізації виглядає так:
вставити у T_User(user_name,user_password,user_email,user_ip) вихідний @@identity цінності ('адміністратор','123456','32962435@qq.com','58.20.158.20'); |