Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2010, 18:39
edwinsp
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 1
error en matriz

hola a todos estoy tratando de hacer esta funcion


Cita:
create or replace function pa_validaruc(xruc text)
RETURNS integer AS
$BODY$
DECLARE
i integer;
residuo integer;
ultdigito integer;
aruc integer[][];
BEGIN
if length(xruc)<>11 then
return 0;
end if;
FOR i IN 0..10 LOOP
aruc[0][i]:=cast(substring(xruc,i+1,1) as integer);
END LOOP;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
pero cuando ejecuto
SELECT pa_validaruc('10141401538');

me sale este error:
ERROR: los subíndices de arrays están fuera de rango
CONTEXT: PL/pgSQL function "pa_validaruc" line 11 at asignación

********** Error **********

ERROR: los subíndices de arrays están fuera de rango
SQL state: 2202E
Context: PL/pgSQL function "pa_validaruc" line 11 at asignación

al parecer el error esta en esta linea:
aruc[0][i]:=cast(substring(xruc,i+1,1) as integer);

pero no encuentro la forma de arreglarlo, les agradeceria una manito

atte

edwinsp