--插入数据,并返回刚刚插入的数据id
INSERT INTO [soloreztest] ([name]) output inserted.id VALUES ('solorez')
--执行结果:
--id
-------------
--5
(1 行受影响)
第二种方法:
insert into table1 values(colvalue1,colvalue2)
select ident_current('table1')
第三种方法:
insert into table1 values(colvalue1,colvalue2)
select @@identity
SQL 带有output、inserted、deleted
因需求的关系需要将修改的值返回,故查了些资料发现了OUTPUT
这个好东西,现记录下来以防以后忘记
使用例子:
1.对于INSERT
,可以引用inserted
表以查询新行的属性.
insert into [表名] (a) OUTPUT Inserted.a values ('a')
2.对于DELETE
,可以引用deleted
表以查询旧行的属性.
delete [表名] OUTPUT deleted.a where links = 'a'
3.对于UPDATE
,使用deleted
表查询被更新行在更改前的属性,用inserted
表标识被更新行在更改后的值.
update [表名] set a = 'b' OUTPUT Inserted.a where a = 'a'(返回修改后的值)
update [表名] set a = 'b' OUTPUT deleted.a where a = 'a' (返回修改前的值)