Necesito ayuda

Hola experto,
Tengo un problema, seguramente sea una tontería pero no doy con la tecla.
Verás, estoy creando una base de datos en Oracle. Al crear las tablas quiero utilizar ON UPDATE CASCADE para que al modificar el campo en la principal me modifique automáticamente me actualice el resto que dependen de ella. Pero el problema es que el SQL*PLUS me da un error diciendo "que falta la palabra clave" y no se donde está el fallo.
Te pongo el código SQL para que lo veas mejor:
Nota: el campo en cuestión es material_nom
Tabla principal:
CREATE TABLE T_MATERIAL2
( MATERIAL_ID VARCHAR2(3)
CONSTRAINT T_MATERIAL_ID_PKEY PRIMARY KEY,
MATERIAL_NOM VARCHAR2(50)
CONSTRAINT T_MATERIAL_NOM_NN NOT NULL
CONSTRAINT T_MATERIAL_NOM_UNIQ UNIQUE
);
Tabla dependiente:
CREATE TABLE T_TUBO
( TUBO_OBRA VARCHAR2(8),
TUBO_BLOQUE VARCHAR2(9),
TUBO_SERV VARCHAR2(7),
TUBO_ID VARCHAR2(11),
TUBO_NOM VARCHAR2(38),
TUBO_MATERIAL VARCHAR2(25)
CONSTRAINT T_TUBO_MAT_NN NOT NULL
CONSTRAINT T_TUBO_MAT_FK REFERENCES T_MATERIAL2(material_nom) ON UPDATE CASCADE,
TUBO_TRAT VARCHAR2(24)
CONSTRAINT T_TUBO_TRAT_NN NOT NULL
CONSTRAINT T_TUBO_TRAT_FK REFERENCES T_TRAT2(TRAT_NOM),
TUBO_IDENT VARCHAR2(6)
CONSTRAINT T_TUBO_IDENT_NN NOT NULL,
TUBO_COPIC VARCHAR2(12)
CONSTRAINT T_TUBO_COPIC_NN NOT NULL,
TUBO_LON NUMBER(6,3),
TUBO_DN NUMBER(6,3),
TUBO_PRESION NUMBER(6,3),
TUBO_FIGURA VARCHAR2(20)
CONSTRAINT T_TUBO_FIG_NN NOT NULL
CONSTRAINT T_TUBO_FIG_FK REFERENCES T_FIGURA2(FIGURA_NOM),
TUBO_FICH VARCHAR2(10),
CONSTRAINT T_TUBO_ID_PKEY PRIMARY KEY(TUBO_ID,TUBO_IDENT,TUBO_OBRA,TUBO_BLOQUE,TUBO_SERV),
CONSTRAINT T_TUBO_ID_FK FOREIGN KEY(TUBO_OBRA,TUBO_BLOQUE,TUBO_SERV,TUBO_ID) REFERENCES T_ISO(ISO_OBRA,ISO_BLOQUE,ISO_SERV,ISO_ID),
);

1 Respuesta

Respuesta
1
En Oracle (al menos hasta la versión 8i) no existe ON UPDATE CASCADE, sólo existe ON DELETE CASCADE.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas