我正在编写一个带有两个参数的 sql proc:@id 和 @id_group。
考虑这张表group_info
ID ID_Group SupercededBy Superceded status
1 1 null null H
2 1 null null U
给定这些参数:
@id = 2 @id_group = 1
The first thing
我需要做的是将行设置SupercededBy
为@id
, where ID=@id and id_group=@id_group and status='H'
。
这是我写的陈述:
update group_info
set supercededby = @id
where id_group=@id_group and status='H'
The second thing
我需要做的是将行设置为刚刚Superceded
从上述语句更新的行。id
SupercededBy
所以在这个例子中,row 2
'sSuperceded
应该被更新为1
.
但是如何写语句呢?我猜这些陈述可能是这样的:
update group_info
set superceded = **old_id**
where id=@id
我知道如何获得old_id
,在这里
select id
from group_info
where id_group=@id_group and status='H'
但是我怎样才能使用上面的值和select
语句的值呢?insert
update
old_id
决赛桌应该是
ID ID_Group SupercededBy Superceded status
1 1 2 null H
2 1 null 1 U
我正在使用 MS SQL Server。