我正在使用SQL Query,下面是表格。
组织
OrgID Name RAOGID RAOID SubGroupID StatusID
1 Org RAOG1 1 NULL NULL 2
2 Org RAO1 NULL 1 NULL 3
3 Org Sub Group1 NULL NULL 1 1
4 Org RAOG2 2 NULL NULL 2
5 Org RAO2 NULL 2 NULL 3
6 Org Sub Group2 NULL NULL 2 2
RAOG
RAOGID AccredID
1 2
2 2
3 2
RAO
RAOID RAOGID
1 1
2 3
3 3
子组
SubGroupID RAOID
1 1
2 2
3 2
我有四个表,如上所示,这里有详细信息, 1)每个RAOG,RAO和SUBGROUP都是一个组织 2)RAOG可以有很多RAO 3)RAO可以有很多子组
我想更新我的组织表statusid,在更新之前我想检查它是否是RAOG类型的oraganisation然后它将更新它下面的所有RAO和SUBGROUPs和RAO相同它将更新他下面的所有SUBGROUP它不会更新它的父RAOG.And如果它是SUBGROUP类型的组织它将只更新子组而不是其父记录。
谢谢, 最好的祝福, 的Manoj
答案 0 :(得分:1)
最好通过将您要创建的检查和调用包装到一个存储过程中来实现,然后可以在事务中执行该存储过程。
CREATE PROCEDURE [dbo].[MySprocOfDoom]
@param1 paramType,
--...
AS
BEGIN
SET NOCOUNT ON;
--SELECT statements here
END