0

私はオラクルでテーブルを作成しています(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 に答える