1
規則在應用於INSERT時觸發的順序是什麼?Postgresql規則命令
它們是在插入記錄之後或之前完成的。
我想要做的是在另一個表中創建一個新記錄,該記錄將鏈接到被插入的記錄。例如:
舉個例子;要創建一個將創建一個新頁面的規則,創建一個文檔時,文檔將始終以空頁面記錄開始。
我看上去很高,也許我問了一個錯誤的問題,但是我找不到任何有關RULES執行順序的文檔。在同一個表和相同事件類型
規則在應用於INSERT時觸發的順序是什麼?Postgresql規則命令
它們是在插入記錄之後或之前完成的。
我想要做的是在另一個表中創建一個新記錄,該記錄將鏈接到被插入的記錄。例如:
舉個例子;要創建一個將創建一個新頁面的規則,創建一個文檔時,文檔將始終以空頁面記錄開始。
我看上去很高,也許我問了一個錯誤的問題,但是我找不到任何有關RULES執行順序的文檔。在同一個表和相同事件類型
的規則是按照字母順序運行應用。
所以排序不取決於規則的類型,只取決於名稱。
而且這也解釋瞭如何在規則「適用」
意識到規則實際上只是一個命令轉換機制,或者說命令宏是很重要的。 轉換髮生在命令執行開始之前。
重點煤礦
所以規則不「之前」發生或語句運行「之後」 - 它運行該聲明代替。
我所試圖做的是創造另一個表中的新記錄,這將鏈接到所插入的記錄。
你一定要在後插入觸發了點。忘記規則。
這也是手冊建議的內容:
如果你真的想爲每個物理行獨立發生的操作,你可能需要使用一個觸發器,而不是規則
嗯,但是'ALSO'規則呢......除了原來的命令之外,它們都運行着,所以應該有一個命令,不是嗎? –