Por exemplo, criamos uma nova T_User de tabela com os seguintes campos u_id, chave primária, identificador user_name......
Então vamos realizar uma nova operação de inserção:
insira em T_User(user_name,user_password,user_email,user_ip) valores ('admin', '123456'', '32962435@qq.com'', '58.20.158.20');
Um dia, queremos obter o valor do u_id que é inserido ao adicionar novos dados inseridos, e sabemos que, a partir de MSSQL2005, podemos adicionar uma saída para inserir um determinado valor, e podemos usá-lo para alcançá-lo
Existem dois métodos; Uma delas é inserir um campo diretamente, como:
inserir em T_User(user_name,user_password,user_email,user_ip) inserted.u_id //output inserted.u_id deve ser colocado antes dos valores, não no final da instrução SQL, caso contrário estará errado, inserido é fixo, Se quiser inserir um campo que já está inserido, basta seguir esse campo, o que queremos é u_id tão inserted.u_id valores ('admin', '123456'', '32962435@qq.com'', '58.20.158.20');
Outra forma é usar @@identity, @@identity é uma variável global embutida no sistema, que é inserir o último identificador, o que podemos fazer em dois passos ou em um único passo
O código para a implementação em uma etapa é o seguinte
inserir na saída T_User(user_name,user_password,user_email,user_ip) @@identity valores ('admin', '123456'', '32962435@qq.com'', '58.20.158.20'); |