Hola Nuevamente,
Tengo dos Tablas Maestro, detalle. donde Maestro se ejecuta un SP lo que hace es insertar datos a la tabla De detalle, se hace por este SP.
Código SQL
[-]
CREATE PROCEDURE SP_EMP_DEPTO_PRY(
N_DEPTO SMALLINT DEFAULT NULL,
N_ID_PROYECTO SMALLINT DEFAULT NULL)
AS
DECLARE VARIABLE ID_EMPLEADO BIGINT;
DECLARE VARIABLE SALARIO NUMERIC(18, 2);
BEGIN
FOR
SELECT
EMPLEADOS.ID_EMPLEADO,
EMPLEADOS.SALARIO
FROM
EMPLEADOS
INNER JOIN PUESTO ON (EMPLEADOS.ID_PUESTO = PUESTO.ID_PUESTO)
INNER JOIN DEPARTAMENTO ON (PUESTO.ID_DEPTO = DEPARTAMENTO.ID_DEPTO)
INNER JOIN PROYECTO ON (EMPLEADOS.ID_PROYECTO = PROYECTO.ID_PROYECTO)
WHERE
DEPARTAMENTO.ID_DEPTO = :N_DEPTO AND
EMPLEADOS.ID_PROYECTO = :N_ID_PROYECTO
INTO
:ID_EMPLEADO,
:SALARIO
DO
EXECUTE PROCEDURE SP_INSERTAR_EMP_PLANILLA(:ID_EMPLEADO, :SALARIO);
BEGIN
SUSPEND;
END
END;
y aqui esta la Inserccion de los datos por medio de otro SP.
Código SQL
[-]
CREATE PROCEDURE SP_INSERTAR_EMP_PLANILLA(
ID_EMPLEADO BIGINT DEFAULT NULL,
SALARIO NUMERIC(18, 2) DEFAULT NULL,
ID_PLANILLA BIGINT DEFAULT NULL)
AS
DECLARE VARIABLE CANT_25 NUMERIC(18, 2);
DECLARE VARIABLE CANT_50 NUMERIC(18, 2);
DECLARE VARIABLE CANT_75 NUMERIC(18, 2);
DECLARE VARIABLE CANT_100 NUMERIC(18, 2);
BEGIN
INSERT INTO DETALLE_PLANILLA(ID_PLANILLA,ID_EMPLEADO, CANT_25, CANT_50, CANT_75, CANT_100, SALARIO)
VALUES (:ID_PLANILLA, :ID_EMPLEADO, 0.00, 0.00, 0.00, 0.00, :SALARIO);
END;
Me Inserta los Datos Correctamente en la Tabla de Detalle, Mi Consulta es:
- Como inserto Un Campo que no esta relacionado con el SP.
- Como inserto el Campo de Primary Key de la Tabla Maestro a la tabla Detalle.
Muchas Gracias.