2011-06-27 3 views
0

をコンパイルヘルプ:私は、次のOracleコードをコンパイルしようとすると、私は私の自動インクリメント・トリガー

CREATE TABLE authors (
    id NUMBER PRIMARY KEY, /* what if two authors have the same name! */ 
    name VARCHAR2(200) NOT NULL 
); 
/* autoinrement sequence */ 
CREATE SEQUENCE authors_id_seq START WITH 1 INCREMENT BY 1; 
/* trigger run before every insert into authors table - copies MySQL autoincrement */ 
CREATE TRIGGER authors_insert_trg BEFORE INSERT ON authors 
FOR EACH ROW WHEN (new.id IS NULL) 
BEGIN 
    SELECT authors_id_seq.nextval INTO :new.id FROM FUAL; 
END; 

それは言う:

table AUTHORS created. 
sequence AUTHORS_ID_SEQ created. 
TRIGGER authors_insert_trg compiled 
Warning: execution completed with warning 

私はすべてのエラーを表示することはできません。誰かが私を助けてくれますか?

+3

タイプミスでなければなりません: 'FUAL' FROM DUAL' FROM'でなければなりません。しかし、それがあなたの問題の原因だとしたら、 SELECT ... INTOを使用すると、INSERTを使用して私の奇妙な対を打つが、私はめったにトリガーを使用しない。 –

+0

@OMG Ponyiesはい、それが問題でした。私はそれを受け入れることができるように答えとして投稿してください。 –

答えて

3

タイプミス:FROM FUALFROM DUAL

関連する問題