2016-01-21 28 views
-3

我創建了兩個名爲snag_list和defect_list的表。當所有的defect_list狀態應該爲2時,我需要將snag_list的狀態字段更改爲2當單列中的另一個表的所有數據都等於某個值時,更改一個表數據

+3

請分享您的餐桌模式 – AnkiiG

+2

歡迎來到本網站。您似乎沒有提供任何人需要回答您的問題的所有信息。請仔細閱讀[本指南](http://stackoverflow.com/help/mcve)並更新您的問題。 –

回答

0

不確定這是否有幫助,但嘗試爲defect_list 創建觸發器並檢查狀態列的不同計數(如果它是一個和值2,然後更新snag_list一個例子是這樣的

DELIMITER $$ 
CREATE TRIGGER checkstatus 
    AFTER UPDATE ON defect_list 
    FOR EACH ROW 
BEGIN 
    DECLARE cnt INT 
    SELECT COUNT(DISTINCT status) FROM defect_list INTO cnt 
    DECLARE st INT 
    SELECT DISTINCT status FROM defect_list LIMIT 1 INTO st 
    IF(cnt = 1 AND st = 2) 
     UPDATE snag_list SET status = 2 
    ENF IF 
END$$ 
DELIMITER ; 
+0

感謝您的回覆。我會嘗試。 – Sahithya

0

你的問題很模糊,但我想這是你可能會尋找。

DECLARE 
    count_rec VARCHAR2(10); 
    data_rec VARCHAR2(10); 
BEGIN 
    SELECT COUNT(DISTINCT status) INTO count_rec FROM defect_list; 
    SELECT DISTINCT status INTO data_rec FROM defect_list; 
    IF (count_rec = '1' AND data_rec = '2') THEN 
     UPDATE snag_list SET status = '2'; 
    END IF; 
END; 

edit - >您可以根據需要更改2個變量的數據類型。如果您不確定數據是否爲數字,請使用VARCHAR2。

+0

感謝您的回覆。我會嘗試。 – Sahithya

相關問題