--插入数据,并返回刚刚插入的数据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' (返回修改前的值)
本文介绍了如何在SQL中利用OUTPUT关键字获取INSERT和UPDATE操作后的插入id,以及使用inserted和deleted表来跟踪修改前后的数据。通过三种方法对比,展示了OUTPUT的实用性和在处理数据修改情况下的价值。
1032

被折叠的 条评论
为什么被折叠?



