Oracle:我如何添加这些约束?

时间:2011-01-25 03:10:50

标签: sql oracle constraints

我制作了三张桌子,“investigador”,“inv_proy”和“proyecto”

    CREATE TABLE INVESTIGADOR (nip number, nombre varchar(20),
    apellido varchar(20), fecha_nac date, sexo char, dir varchar(20), correo varchar(50));

  CREATE TABLE PROYECTO (id number, descripcion varchar(50), duración number, fecha_inicio date, presupuesto number); 

CREATE TABLE INV_PROY (nip number, id number, fecha date, cargo varchar(20)); 


ALTER TABLE INV_PROY ADD CONSTRAINTS INV_PROY_PK PRIMARY KEY (NIP);

ALTER TABLE INVESTIGADOR ADD CONSTRAINTS INVESTIGADOR_PK PRIMARY KEY (NIP);
ALTER TABLE PROYECTO ADD CONSTRAINTS PROYECTO_PK PRIMARY KEY(ID);

我怎样才能这样做,每次我向INV_PROY添加一个寄存器时,都有一个相关的INVESTIGADOR和一个PROYECTO寄存器?

我怎样才能这样做,以便每次从INVESTIGADOR擦除寄存器时,它也会从其关联表中删除?

1 个答案:

答案 0 :(得分:3)

如果不知道这三个表是如何相关的,那么很难回答你的问题,但常见的答案是使用带有级联删除的外键约束。