@idと@id_groupの2つのパラメーターを使用してSQLプロシージャを作成しています。
この表を検討してください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
ここで、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
MSSQLServerを使用しています。