24/12/2015, 06:53
|
| | | Fecha de Ingreso: enero-2015 Ubicación: santiago
Mensajes: 5
Antigüedad: 9 años, 10 meses Puntos: 0 | |
Dudas con date Hola buenos dias
tengo un problema, estoy generando un SP en oracle 11g que recibe los parametros de entrada para actualizar o insertar a una persona, el tema es que la fecha de nacimiento, haga lo que haga me da un error de incompatibilidad de typos de datos dejare el codigo y el error que me da al probar el sp, si alguno me puede hechar una mano, se los agradeceria
Saludos
Código:
CREATE OR REPLACE PROCEDURE ESPADM.SP_UPS_DATOS_PERS
--sp Encargado de actualizar o insertar nuevas personas segun si el rut exista o no en la tabla Personal
(vRUT IN NUMBER,
vNOMBRE IN VARCHAR2,
vAPELLIDOMATERNO IN VARCHAR2,
vAPELLIDOPATERNO IN VARCHAR2,
vFECNAC IN DATE,
vSEXO IN NUMBER,
vPROFESION IN NUMBER,
vESTADOCIVIL IN NUMBER,
vNACIONALIDAD IN NUMBER,
COD_MENSAJE OUT VARCHAR2,
DESCRIP_MENSAJE OUT VARCHAR2) IS
ENCONTRADO NUMBER(10):=0;
BEGIN
SELECT RUT
INTO ENCONTRADO
FROM ESPADM.PERSONAL
WHERE vRUT =RUT;
IF ENCONTRADO !=0 THEN
UPDATE ESPADM.PERSONAL SET
DV = ESPADM.FNC_DV(ENCONTRADO),-- funciontion que calcula el digito verificador y devuelve un char
FECHA_INGRESO = SYSDATE,
NOMBRES = vNOMBRE,
APELLIDOMATERNO = vAPELLIDOMATERNO,
APELLIDOPATERNO = vAPELLIDOPATERNO,
FECHA_NACIMIENTO = TO_DATE(TO_CHAR(vFECNAC,'DD-MM-YYYY'),'DDMMYYYY'),
CODIGOSEXO = vSEXO,
CODIGOESTADOCIVIL = vESTADOCIVIL,
CODIGOPROFESION = vPROFESION,
CODIGONACIONALIDAD = vNACIONALIDAD,
CODIGOCANAL = ESPADM.SQ_COD_CAN_PB.NEXTVAL,-- secuencia ciclica del 1-10
NUMBEROPROCESO = TO_DATE(SYSDATE)||ESPADM.SQ_COD_CAN_PB.CURRVAL
WHERE vRUT = RUT ;
COMMIT;
ELSE
INSERT INTO ESPADM.PERSONAL
(RUT,DV,FECHA_INGRESO,NOMBRES,APELLIDOMATERNO,APELLIDOPATERNO,FECHA_NACIMIENTO,CODIGOSEXO,
CODIGOESTADOCIVIL,CODIGONACIONALIDAD,CODIGOPROFESION,NUMBEROPROCESO,CODIGOCANAL)
VALUES
(vRUT,ESPADM.FNC_DV(vRUT),SYSDATE, vNOMBRE, vAPELLIDOMATERNO, vAPELLIDOPATERNO, vFECNAC, vSEXO,vESTADOCIVIL,
vNACIONALIDAD,vPROFESION,TO_DATE(SYSDATE)||ESPADM.SQ_COD_CAN_PB.CURRVAL,
ESPADM.SQ_COD_CAN_PB.NEXTVAL);
COMMIT;
END IF;
END;
/
Código:
ORA-06550: line 19, column 14:
PLS-00382: expression is of wrong type
ORA-06550: line 19, column 3:
PL/SQL: Statement ignored
ese error me aparece |