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 original- CREATE 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 original- CREATE 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 original- SELECT 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