Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/03/2008, 07:54
bransh
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ERROR en POSTGRES

Cita:
Iniciado por richisaurio Ver Mensaje
ERROR: value too long for type character(1)
CONTEXT: PL/pgSQL function "ins_usuario" line 11 at select into variables
Hola, como andas.

Segun lo que dice el mensaje, estas intentando asignar un valor demasiado largo en un tipo CHAR(1). El contexto del error esta en una sentencia SELECT INTO.

Ahora bien, observando el codigo de la funcion, veo que declaras n_cod_per del tipo char:

n_cod_per char;

esto hace que n_cod_per pueda almacenar un solo caracter. Y posteriormente, usas la sentencia:

select max(codigo_per) INTO n_cod_per from datos_personales.persona;

segun lo que entiendo (puesto que luego intentas extraer subcadenas de la variable n_cod_per) codigo_per es una cadena de mas de 1 caracter.

Deberias cambiar las declaraciones de las variables a una cadena mas larga.
(un varchar(50) por ejemplo)

Saludos.