¿ los has creado en el orden correcto ?
Mira :
Código SQL:
Ver originalSQL> SET timin ON
SQL> CREATE TABLE Restaurante
2 (
3 id INTEGER PRIMARY KEY NOT NULL,
4 a VARCHAR(60) NOT NULL,
5 b VARCHAR(100) NOT NULL,
6 c FLOAT,
7 d FLOAT,
8 e FLOAT
9 );
Tabla creada.
REAL: 32
SQL> CREATE SEQUENCE IdRest
2 START WITH 1
3 INCREMENT BY 1;
Secuencia creada.
REAL: 0
SQL>
SQL> CREATE OR REPLACE TRIGGER rest_trigger
2 BEFORE INSERT ON Restaurante
3 FOR EACH ROW
4 BEGIN
5 SELECT IdRest.NEXTVAL INTO :NEW.id FROM dual;
6 END;
7
8 /
Disparador creado.
REAL: 32
SQL> INSERT INTO restaurante
2 (a,b,c,d,e)
3 VALUES
4 ('1','2',3,4,5);
1 fila creada.
REAL: 31
SQL> commit;
Validación terminada.
REAL: 16
SQL> SELECT id,substr(a,1,1),substr(b,1,1),c,d,e
2 FROM restaurante;
ID S S C D E
--------- - - --------- --------- ---------
1 1 2 3 4 5
REAL: 15
SQL>