Hola, mi primer post acá, ojala me puedan ayudar =)
Tengo 3 tablas del tipo supertipo y subtipos, ambas excluyentes aquí va el código:
CREATE TABLE persona
(
rut varchar(20) NOT NULL PRIMARY KEY,
tipo varchar(30) NOT NULL CHECK(tipo IN ('postulante', 'contratado')),
nombre varchar(45) NOT NULL,
direccion varchar(45)NOT NULL,
mail varchar(30) NOT NULL,
nacionalidad varchar(20) NOT NULL,
edad int NOT NULL,
sexo varchar(10) NOT NULL CHECK (sexo IN ('Hombre','Mujer')),
estado_civil VARCHAR(10) NOT NULL CHECK (estado_civil IN('soltero(a)','casado(a)','viudo(a)', 'separado(a)')),
UNIQUE (rut, tipo)
)
CREATE TABLE contratados
(
rut varchar(20) PRIMARY KEY REFERENCES persona(rut),
tipo varchar(30) NOT NULL CHECK(tipo = 'contratado') DEFAULT 'contratado',
fecha_ingreso_sistema datetime NOT NULL,
fecha_contrato datetime NOT NULL,
fin_contrato DATETIME NOT NULL,
FOREIGN KEY(rut, tipo) REFERENCES persona(rut,
tipo),
UNIQUE (tipo_funcionario)
)
CREATE TABLE postulantes
(
rut varchar(20) PRIMARY KEY REFERENCES persona(rut),
tipo varchar(30) NOT NULL CHECK(tipo = 'postulantes') DEFAULT 'postulante',
fecha_ingreso_sistema datetime NOT NULL,
fecha_contrato datetime NOT NULL,
fin_contrato DATETIME NOT NULL,
FOREIGN KEY(rut, tipo) REFERENCES persona(rut,
tipo),
UNIQUE (tipo_funcionario)
)
La persona puede ser o contratado o postulante, tema que valide mediante un chek como se puede ver ahi...ahora mi problema es como inserto
de la manera que, la BD sepa si insertar en postulantes o en contratados como deberia ser esa sentencia? o sería con un procedimiento almacenado, de se asi me podría pasar algun tutorial o link lo que sea sería de gran utilidad...
adioss gracias de ante mano