例如我們新建了一張表t_user,字段如下u_id,主鍵,為標(biāo)示符,user_name......
然后我們來執(zhí)行一個(gè)新增插入操作:
insert into t_user(user_name,user_password,user_email,user_ip)
values('admin','123456','32962435@qq.com','58.20.158.20') ;
有一天,我們想在新增插入數(shù)據(jù)的時(shí)候獲取到插入這條數(shù)據(jù)的u_id的值是多少,我們知道從mssql2005以后新增了一個(gè)output,用來輸入某個(gè)值,我們就可以利用它來實(shí)現(xiàn)
方法有兩種;一種是直接輸入某個(gè)字段,如:
insert into t_user(user_name,user_password,user_email,user_ip) output inserted.u_id ///output inserted.u_id一定要放在 values之前,不能放在sql語句的最后面,不然是出錯(cuò)的,inserted是固定的,你想輸入當(dāng)前插入的某個(gè)字段就在后面接這個(gè)字段即可,我們想獲得的是u_id所以是inserted.u_id
values('admin','123456','32962435@qq.com','58.20.158.20') ;
另一種方法是使用@@identity,@@identity是系統(tǒng)內(nèi)置的一個(gè)全局變量,其左右就是輸入最后一次的標(biāo)示符,我們可以兩步走也可以通過一步實(shí)現(xiàn)
一步實(shí)現(xiàn)的代碼如下
insert into t_user(user_name,user_password,user_email,user_ip) output @@identity
values('admin','123456','32962435@qq.com','58.20.158.20') ;
更多信息請(qǐng)查看IT技術(shù)專欄