34,874
社区成员
发帖
与我相关
我的任务
分享


--> --> 听雨停了-->测试数据
if not object_id(N'Tempdb..#tab') is null
drop table #tab
Go
Create table #tab(id int,name nvarchar(21))
Insert #tab
select 1,N'x' union all
select 2,N'y'
--测试数据结束
;with cte as (
SELECT a.*,b.id AS update_ID from #tab a
INNER JOIN #tab b ON a.id<>b.id
WHERE a.id IN (1,2) AND b.id IN (1,2)
)
UPDATE a SET id=b.update_ID
FROM #tab a
INNER JOIN cte b ON a.id=b.id
SELECT * FROM #tab
id name
----------- ---------------------
2 x
1 y
update t
set A = case when A = 3 then 4 else 3 end
where a in (3,4)
[/quote]
楼主的意思写一个存储过程,可以动态传参,交换任意两条记录的结果,你这么搞不是把楼主往坑里带吗
[/quote]
把上面这个写成存储过程你不会?那我就没办法了哈
[/quote]
我看这里很多问题都很初级,如果能够假定楼主知道怎么改写,那我就无话可说了[/quote]
BBS开放式环境,新手的问题总是会多一点。可以耐心点还是会遇到有点意思的帖子。
update t
set A = case when A = 3 then 4 else 3 end
where a in (3,4)
[/quote]
楼主的意思写一个存储过程,可以动态传参,交换任意两条记录的结果,你这么搞不是把楼主往坑里带吗
[/quote]
把上面这个写成存储过程你不会?那我就没办法了哈
[/quote]
我看这里很多问题都很初级,如果能够假定楼主知道怎么改写,那我就无话可说了
update t
set A = case when A = 3 then 4 else 3 end
where a in (3,4)
[/quote]
楼主的意思写一个存储过程,可以动态传参,交换任意两条记录的结果,你这么搞不是把楼主往坑里带吗
[/quote]
把上面这个写成存储过程你不会?那我就没办法了哈
update t
set A = case when A = 3 then 4 else 3 end
where a in (3,4)
[/quote]
楼主的意思写一个存储过程,可以动态传参,交换任意两条记录的结果,你这么搞不是把楼主往坑里带吗
update t
set A = case when A = 3 then 4 else 3 end
where a in (3,4)
[/quote]
必须很吊,你也不看水果版主是谁,版主可不是相当就可以当的,那得有多大实力啊