を作成しました:警告:トリガーは、私は打撃のような神託でトリガーを作成しようとしています、コンパイル・エラーと
CREATE OR REPLACE TRIGGER TRIGGER_VC_PART_LIST
BEFORE INSERT ON VC_PART_LIST FOR EACH ROW
BEGIN
SELECT VC_PART_LIST_SEQ.NEWTVAL INTO :new.SEQ_ID FROM dual;
END;
/
誰も私を助けることができるThxを?。
を作成しました:警告:トリガーは、私は打撃のような神託でトリガーを作成しようとしています、コンパイル・エラーと
CREATE OR REPLACE TRIGGER TRIGGER_VC_PART_LIST
BEFORE INSERT ON VC_PART_LIST FOR EACH ROW
BEGIN
SELECT VC_PART_LIST_SEQ.NEWTVAL INTO :new.SEQ_ID FROM dual;
END;
/
誰も私を助けることができるThxを?。
コードにはいくつかの問題があります。
1)VC_PART_LIST_SEQ.NEWTVAL
OracleにはNEWTVAL
という名前のものはありません。それはNextval
である必要があります。
2)SQL
文は必要ありません。
参照のデモ:
トリガー:
CREATE OR REPLACE TRIGGER TRIGGER_VC_PART_LIST
BEFORE INSERT
ON VC_PART_LIST
FOR EACH ROW
BEGIN
:new.SEQ_ID := VC_PART_LIST_SEQ.NEXTVAL;
END;
/
表:
create table VC_PART_LIST (SEQ_ID number,
VC_VTC varchar2(20), PART_NO varchar2(20), CONSUME_QTY varchar2(20));
シーケンス
create sequence VC_PART_LIST_SEQ start with 1 increment by 1;
挿入:
INSERT INTO VC_PART_LIST (VC_VTC, PART_NO, CONSUME_QTY)
VALUES ('6175SMFGD132000D', 'SC25R136', '11');
Commit;
選択:
SQL> select * from VC_PART_LIST;
SEQ_ID VC_VTC PART_NO CONSUME_QTY
---------- -------------------- -------------------- --------------------
1 6175SMFGD132000D SC25R136 11
次の値をフェッチする順序では、NEXTVAL
を使用します。以下は正しい構文です
CREATE OR REPLACE TRIGGER TRIGGER_VC_PART_LIST
BEFORE INSERT
ON VC_PART_LIST
FOR EACH ROW
BEGIN
SELECT VC_PART_LIST_SEQ.NEXTVAL INTO :new.SEQ_ID FROM DUAL;
END;
Thx.Butと別のエラートリガーその 'OTDTEST.TRIGGER_VC_PART_LIST' INSERT INTO VC_PART_LIST(VC_VTC、PART_NO、CONSUME_QTY)VALUES( '6175SMFGD132000D'、 'SC25R136'、 '11');これは無効です。 –
URテーブル構造を共有します。 Consume_qtyは数値型またはvarchar2型の列ですか? – Himanshujaggi
使用 'ショーerrors'私はテーブルにデータをinserte –