Por ejemplo, creamos una nueva T_User de tabla con los siguientes campos u_id, clave primaria, identificador, user_name......
Entonces realicemos una nueva operación de inserto:
Insertar en T_User(user_name,user_password,user_email,user_ip) valores ('admin', '123456'', '32962435@qq.com', '58.20.158.20');
Algún día queremos obtener el valor de la u_id que se inserta al añadir nuevos datos insertados, y sabemos que a partir de MSSQL2005 podemos añadir una salida para introducir un valor concreto y usarlo para lograrlo
Existen dos métodos; Uno es introducir directamente un campo, tales como:
insertar en T_User(user_name,user_password,user_email,user_ip) inserted.u_id //output inserted.u_id debe colocarse antes de los valores, no al final de la instrucción SQL, de lo contrario será incorrecto, inserted es fijo, Si quieres introducir un campo que ya está insertado, solo sigue este campo, lo que queremos es u_id tan inserted.u_id valores ('admin', '123456'', '32962435@qq.com', '58.20.158.20');
Otra forma es usar @@identity, @@identity es una variable global integrada en el sistema, que consiste en introducir el último identificador, lo cual podemos hacer en dos pasos o en un solo paso
El código para la implementación en un solo paso es el siguiente
insertar en la salida T_User(user_name,user_password,user_email,user_ip) @@identity valores ('admin', '123456'', '32962435@qq.com', '58.20.158.20'); |