Postgresql
INSERT 觸發器因#target 列不等於#expressions 而死亡,但它們相等
我正在嘗試編寫我的第一個觸發器。它是一個插入觸發器,如下所示:
<b>Fatal error</b>: postgres7 error: [-1: ERROR: INSERT has more target columns than expressions at character 78 INSERT INTO dash_pre_queue (ord_obj_guid, ord_entry_type_guid, client_obj_guid, installer_obj_guid, installer_serial_number, datetime, ord_proc_state_guid, created, ord_esc_type_guid, in_error, ord_entry_guid) SELECT (ord_obj_guid, NULL, client_obj_guid, inst_obj.inst_obj_guid, inst_obj.installer_serial_number, clock_timestamp(), ord_proc_state_guid, NULL, NULL, NULL, NULL) FROM ord_obj JOIN inst_obj ON inst_obj.inst_obj_guid = ord_obj.inst_obj_guid WHERE ord_obj.ord_obj_guid = NEW.ord_obj_guid
我將錯誤消息留在了頂部。目標表的結構與 INSERT INTO 列匹配。我已經驗證了 NULL 值是允許的。
如果您計算 Insert 子句中的列,它們與 SELECT 語句匹配,但是,我收到上面的錯誤,指出存在某種斷開連接。關於我做錯了什麼的任何想法?
在選擇中刪除列列表周圍的括號。這並不像你認為的那樣。