我有一個過程,我必須檢查某些指定條目的某個視圖並相應地刪除它們。我爲此使用了以下方法 -Postgresql:如何提高以下查詢的效率
SELECT id_1,
id_2,
id_3,
id_4
INTO v_id_1,
v_id_2,
v_id_3,
v_id_4
FROM v_doc
WHERE parent_id_1 = p_id_1 -- 'p_' suffix stands for function parameters
AND parent_id_2 = p_id_2
AND parent_id_3 = p_id_3
LIMIT 1
;
WHILE v_id_1 IS NOT NULL
LOOP
-- Code for child document line deletion goes here
SELECT id_1,
id_2,
id_3,
id_4
INTO v_id_1,
v_id_2,
v_id_3,
v_id_4
FROM v_doc
WHERE parent_id_1 = p_id_1
AND parent_id_2 = p_id_2
AND parent_id_3 = p_id_3
LIMIT 1
;
END LOOP;
這是有效的方法,還是有更有效的方法來執行此類查詢?當然,我正在談論我選擇記錄的方式。
@OMG:對不起,是我不好。編輯代碼。感謝您指出錯誤。 – 2010-09-02 05:14:55