On delete cascade y On update cascade
Hola,
Tengo la siguiente tabla:
create table zonas_gestion (
id_zona_gestion number(8)primary key using index,
nombre_zona_gestion varchar2(50),
descrip_zona_gestion varchar2(200),
id_gerente number(8) references gerentes on delete cascade on update cascade
);
pero me da un error:
id_gerente number(8) references gerentes on delete cascade on update cascade
*
ERROR en línea 5:
ORA-00907: falta el paréntesis derecho
Supongo que será la forma de poner el delete y el update. ¿cómo se pondría?
Gracias!!.
Tengo la siguiente tabla:
create table zonas_gestion (
id_zona_gestion number(8)primary key using index,
nombre_zona_gestion varchar2(50),
descrip_zona_gestion varchar2(200),
id_gerente number(8) references gerentes on delete cascade on update cascade
);
pero me da un error:
id_gerente number(8) references gerentes on delete cascade on update cascade
*
ERROR en línea 5:
ORA-00907: falta el paréntesis derecho
Supongo que será la forma de poner el delete y el update. ¿cómo se pondría?
Gracias!!.
Yo me supongo que será por dos cosas :
1 ) Esa no es la manera de crear una FK, puedes creartela de esta manera :
ALTER TABLE ZONAS_GESTION ADD CONSTRAINT
GERENTE_FK FOREIGN KEY
(ID_GERENTE) REFERENCES GERENTE (ID_GERENTE)
ON DELETE CASCADE
2 ) Creo que el ON UPDATE CASCADE no existe
1 ) Esa no es la manera de crear una FK, puedes creartela de esta manera :
ALTER TABLE ZONAS_GESTION ADD CONSTRAINT
GERENTE_FK FOREIGN KEY
(ID_GERENTE) REFERENCES GERENTE (ID_GERENTE)
ON DELETE CASCADE
2 ) Creo que el ON UPDATE CASCADE no existe
Bueno, yo soy de la opinion de ozzy, pero solo en el punto 2.
Puedes crear una FK en la misma sentencia sql así:
create table zonas_gestion (
id_zona_gestion number(8) primary key,
nombre_zona_gestion varchar2(50),
descrip_zona_gestion varchar2(200),
id_gerente number(8) references gerentes on delete cascade );
Pero estoy de acuerdo con la parte 1 de ozzy, no he encontrado en ningún sitio como decirle ON UPDATE CASCADE, En designer si que se le puede decir, pero lo implementa él en PL/SQL cuando genera el form (creo)
Puedes crear una FK en la misma sentencia sql así:
create table zonas_gestion (
id_zona_gestion number(8) primary key,
nombre_zona_gestion varchar2(50),
descrip_zona_gestion varchar2(200),
id_gerente number(8) references gerentes on delete cascade );
Pero estoy de acuerdo con la parte 1 de ozzy, no he encontrado en ningún sitio como decirle ON UPDATE CASCADE, En designer si que se le puede decir, pero lo implementa él en PL/SQL cuando genera el form (creo)
Por cierto, se me habia olvidado, para que sirve el USING INDEX en "id_zona_gestion number(8) primary key using index,"?
Da igual que lo ponga como que no, al final siempre se crea un indice para la PK. (uso 9.2.0.1)
Gracias
Da igual que lo ponga como que no, al final siempre se crea un indice para la PK. (uso 9.2.0.1)
Gracias
Eso será en tu pueblo. En Oracle city NO SE PUEDE.
Tienes que montar codigo pl-sql, por ejemplo en un trigger para que cuando se actualize un registro de una tabla, actualize todos los registros que dependen de ese.
¿ que te ponga como ? TE LO INVENTAS
Tienes que montar codigo pl-sql, por ejemplo en un trigger para que cuando se actualize un registro de una tabla, actualize todos los registros que dependen de ese.
¿ que te ponga como ? TE LO INVENTAS
Pues si te metes en algun manual o tutoria de Sql, en la sintaxis de crear tabla aparece.
no se porque decis que si borra un registro que me casque una paja. yo no hago eso.