0

我在 oracle 中创建表(odbc 连接 - 必须是)。我想创建自动增量列。那不是问题。我需要执行的查询如下:

CREATE TRIGGER TBIUR_FOLDER_FOLDER_ID
BEFORE INSERT OR UPDATE
OF
FOLDER_ID
ON FOLDER
REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
BEGIN 
IF :NEW."FOLDER_ID" IS NULL 
 THEN SELECT "SQ_FOLDER_FOLDER_ID".NEXTVAL INTO :NEW."FOLDER_ID" FROM dual;
END IF;
END;

问题出在:NEW 关键字中,PDO 将其作为命名参数,因此我无法正确创建触发器。当我签入数据库时​​,创建查询是:

IF :1."FOLDER_ID" IS NULL 

所以 :NEW 被 :1 :/ 取代,我不知道该怎么办......

4

1 回答 1

0

是的。
您可以完全禁用准备好的语句解析。
只是不要将它们用于此查询,因为它显然不需要它们。只需使用query()或运行它exec()

于 2013-07-23T13:44:35.220 回答