1

トリガーを作成しようとしていますが、どういうわけか、バインド変数が正しくないというエラーが発生します。私はそれについてグーグルで検索しましたが、すべての場合で、ユーザーが間違った列名でトリガーを作成しようとしているという同じ答えが得られました。これが私のスクリプトです。

CREATE TABLE  "POPSETTING"     
(   "settingid" number primary key,
    "HOSTNAME" VARCHAR2(50),    
    "INCOMINGSERVER" VARCHAR2(100),
    "REQUIREDSSL" VARCHAR2(1),
    "PORT" NUMBER,
    "OUTGOINGSERVER" VARCHAR2(100),
    "REQUIREDTLS" VARCHAR2(1),
    "REQUIREDAUTH" VARCHAR2(1),
    "PORTTLS" NUMBER,
    "PORTSSL" NUMBER
    )

順序:

create sequence auto_inc start with 1 increment by 1 nomaxvalue

引き金:

create or replace trigger popid
   before insert on popsetting
   for each ROW
begin 
   select auto_inc.NEXTVAL
  into :new.settingid from dual 
end;
/

私の間違いを教えてください。

4

2 に答える 2

4

" "createステートメントでaroundを使用settingidしたため、大文字と小文字を区別しました。
デフォルトでは、オラクルは列名を大文字で参照するため、:new.settingid(実際には:new.SETTINGID) create table ステートメントで
を試し:new."settingid"たり削除したりする必要はありません。""

于 2013-11-10T06:28:10.687 に答える