Holas, tengo problemas con una funcion que hice no me actualiza la tabla que eh creado con los datos respectivos, perdonen si tiene simples fallos es por que recien inicion en lo que es oracle y pl/sql
el codigo de mi tabla es
Código SQL:
Ver originalCREATE TABLE TP_EMP_CONTRATO(
COD_CONTRATO VARCHAR(10)NOT NULL PRIMARY KEY,
AREA VARCHAR(45),
DESEMPEÑO VARCHAR(45),
T_CONTRATO VARCHAR(45),
INI_CONTRADO DATE,
SALARIO NUMERIC(8,2)
);
Los datos insertados son
Código SQL:
Ver original--Insertando datos a la tabla tipo de contrato
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT001','ADMINISTRACION','ORGANIZADOR','TRABAJADOR DEPENDIEN-TE','15/9/1998','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT002','CONTABILIDAD','GERENTE','TRABAJADOR TIEMPO PAR-CIAL','10/12/1993','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT003','FINANZAS','ESPECIALISTA EN FINANZAS','TRABAJADOR DEPENDIEN-TE','5/12/1999','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT004','CAPITAL HUMANO','CAPACITADOR Y CONTRATADOR','TRABAJADOR FI-JO','7/10/1999','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT005','SERVICIOS POST-VENTA','ESPECIALISTAS DE MERCADEO','TRABAJADOR TIEMPO PARCIAL','15/9/1998','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT006','GESTIÓN TECNOLÓGICA','ORGANIZADOR','TRABAJADOR FI-JO','6/10/2005','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT007','INFRAESTRUCTURA','INGENIERO','TRABAJADOR FIJO','8/11/2004','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT008','PLANEACIÓN','GERENCIA GENERAL','TRABAJADOR TIEMPO PAR-CIAL','6/7/2003','');
INSERT INTO TP_EMP_CONTRATO(COD_CONTRATO,AREA,DESEMPEÑO,T_CONTRATO,INI_CONTRADO,SALARIO)
VALUES('COT009','SEGURIDAD','EMPLEADOS','TRABAJADOR FIJO','15/9/2001','');
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION F_CONDICION_TP_TRABAJADOR (TP_trabajador VARCHAR)
RETURN NUMERIC
IS
condicion NUMERIC(8,2);
BEGIN
condicion:='';
IF TP_trabajador='TRABAJADOR DEPENDIENTE' THEN
condicion:=1400;
elsif TP_trabajador='TRABAJADOR FIJO' THEN
condicion:=2000;
ELSE
condicion:=800;
END IF;
RETURN condicion;
UPDATE TP_EMP_CONTRATO SET SALARIO =condicion;
END;
y con esto lo relaciono
Código SQL:
Ver originalSELECT AREA,DESEMPEÑO, T_CONTRATO,
F_CONDICION_TP_TRABAJADOR(T_CONTRATO)
FROM TP_EMP_CONTRATO
pero al ejecutar no me guarda el valor de la condicion en salario
porfavor si me podrian ayudar con el codigo
gracias de atemano