• Sábado 16 de Noviembre de 2024, 11:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - jade.tko

Páginas: [1]
1
SQL Server / SQL insertar
« en: Lunes 25 de Enero de 2010, 16:16 »
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 :hola:

Páginas: [1]