14/05/2007, 08:58
|
| | Fecha de Ingreso: abril-2007
Mensajes: 27
Antigüedad: 17 años, 8 meses Puntos: 0 | |
como obtener fecha actual esta es mi funcion......
CREATE OR REPLACE FUNCTION REC_GER(NUM_PRE1 int,
OBS TEXT,
PASA BIT,
MAT_REV CHAR(3))
RETURNS void AS
$BODY$declare
begin
IF PASA = '1' then
BEGIN
UPDATE PRESTAMO SET OBS_REV = OBS, ESTADO = 'RG', USR_REV = MAT_REV, FEC_REV =(select now()) WHERE NUM_PRE = NUM_PRE1;
END;
ELSE
BEGIN
UPDATE PRESTAMO SET OBS_REV = OBS , ESTADO = 'OG', USR_REV = MAT_REV, FEC_REV =(select now()) WHERE NUM_PRE = NUM_PRE1;
END;
end if;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION REC_GER(NUM_PRE1 int,
OBS TEXT,
PASA BIT,
MAT_REV CHAR(3)) OWNER TO postgres;
ejecuto y me sale lo sgte
ERROR: value too long for type character(3)
Estado SQL:22001
Contexto:SQL statement "UPDATE PRESTAMO SET OBS_REV = $1 , ESTADO = 'RG', USR_REV = $2 , FEC_REV =(select now()) WHERE NUM_PRE = $3 "
PL/pgSQL function "rec_ger" line 6 at SQL statement
como ven los parametros estan pasando correctamente lo q no hace es devolver la fecha actual.....ya intente poniendole solo el now sin el select tampoco muestra tb utilice el current_date sin select pero nada..... |