首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

能否在一条SQL里完成更新和取数据两个事情?该如何解决

2012-03-14 
能否在一条SQL里完成更新和取数据两个事情?想在一条语句里完成对一个值的更新和获取,比如先加1再SELECT出

能否在一条SQL里完成更新和取数据两个事情?
想在一条语句里完成对一个值的更新和获取,比如先加1再SELECT出来,怎么写?

[解决办法]
一条语句不可能 ,但可以放一个事务里面
[解决办法]

SQL code
DECLARE @T TABLE (COL1 INT)INSERT INTO @TSELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3UPDATE T1 SET COL1=COL1+1OUTPUT DELETED.COL1 AS COL1_OLD,INSERTED.COL1 AS COL1_NEWFROM @T T1WHERE COL1<3/*COL1_OLD    COL1_NEW----------- -----------1           22           3*/
[解决办法]
SQL code
create table tb(   id int,name varchar(10))insert into tbselect 1,'aa'declare @t table(name1 varchar(10),name2 varchar(10))update tbset name='bb'output inserted.name,deleted.name into @twhere id=1select * from @t/*------name1    name2 

热点排行