2009-08-27 150 views
0

我正在使用SQL查詢,下面是表格。更新父項及其所有記錄中的子項sql

組織

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和子組是一個組織 2)RAOG可以有許多RAOS 3)RAO可以具有許多SubGroups

我想在更新之前更新我的組織表statusid我想檢查它是否是RAOG類型的組織,然後它將更新其下的所有RAO和SUBGROUP,並且與RAO相同它將更新所有的SUBGROUP在他下面它不會更新它的父RAOG。最後如果它是SUBGROUP類型的組織,它只會更新子組而不是它的子組父記錄。

感謝, 最好的問候, 馬諾

+0

什麼是DBMS? Oracle,SQL Server,MySQL,還有其他的東西? – 2009-08-27 11:27:38

+0

我正在使用SQL Server – 2009-08-27 11:40:50

+0

嗨,傑夫,你能幫我在這 – 2009-08-27 13:05:43

回答

1

這最好通過包裝檢查來達到的,並要求你要製作成一個存儲過程,你就可以在事務內執行。

CREATE PROCEDURE [dbo].[MySprocOfDoom] 

@param1    paramType, 
    --... 
AS 
BEGIN 
SET NOCOUNT ON; 
    --SELECT statements here 
END 
+0

你可以請寫代碼,因爲我不能寫它的SQL代碼 – 2009-08-27 11:42:47

+0

那麼也許你應該沒有給你一份工作,你需要編寫SQL – 2009-08-27 11:49:48

+0

親愛的我問上述問題的邏輯代碼,我非常瞭解SQL語法,我有點困惑,我怎麼能得到上述結果。我們可以使用功能或程序。請給我實際的sql代碼? – 2009-08-27 12:09:37

相關問題