Bom...como nem tudo são flores...voltei...

Durante a execução do código modificado após minha última postagem aqui,
obtive o seguinte erro:

*
---------------------------------------------------------------------------------------------------------------------------------
*

*Erro de SQL:*

ERRO:  não pôde encontrar tipo array para tipo de dado gvc_docpend
CONTEXT:  comando SQL "SELECT  'INSERT INTO' || $1 || '('
||dcp_alumatric|| ',' ||dcp_aludocdescr|| ') VALUES (' || $2 || ',' ||
$3 || ')'"
PL/pgSQL function "doc_pendentes" line 13 at execute statement

*Indicação de entrada :*
select doc_pendentes();
*
---------------------------------------------------------------------------------------------------------------------------------
*
O código atual é:

*
---------------------------------------------------------------------------------------------------------------------------------
*

DECLARE
    doc_nomedoc varchar;
    t_docp      gvc_docpend%rowtype;
    men         RECORD;
BEGIN
    FOR men IN SELECT men_cal1||men_cal2 AS matric, men_men1 AS men1,
men_men2 AS men2
               FROM fai__men
    LOOP
    IF men.matric is not null THEN
          if  (UPPER(COALESCE(men.men1,'')|| COALESCE(men.men2,''))
LIKE  '%NASCIMENTO%') then
              doc_nomedoc := 'Certidão de nascimento';
              EXECUTE 'INSERT INTO' ||t_docp|| '(' ||dcp_alumatric||
',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric|| ','
||doc_nomedoc|| ')' ;
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE '%CASAMENTO%') then
              doc_nomedoc := 'Certidão de casamento';
              EXECUTE 'INSERT INTO' ||t_docp|| '(' ||dcp_alumatric||
',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric|| ','
||doc_nomedoc|| ')';
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE  '%HISTORICO%') then
              doc_nomedoc := 'Histórico Escolar';
              EXECUTE 'INSERT INTO' ||t_docp|| '(' ||dcp_alumatric||
',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric|| ','
||doc_nomedoc|| ')';
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE  '%IDENTIDADE%') then
               doc_nomedoc := 'Documento de Identidade';
               EXECUTE 'INSERT INTO' ||t_docp|| '(' ||dcp_alumatric||
',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric|| ','
||doc_nomedoc|| ')';
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE  '%TITULO%') then
               doc_nomedoc := 'Título de eleitor';
               EXECUTE 'INSERT INTO' ||t_docp|| '(' ||dcp_alumatric||
',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric|| ','
||doc_nomedoc|| ')';
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE '%RESERVISTA%') then
               doc_nomedoc := 'Certificado de Reservista';
               EXECUTE 'INSERT INTO' ||gvc_docpend|| '('
||dcp_alumatric|| ',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric||
',' ||doc_nomedoc|| ')';
          end if;
          if  (UPPER(COALESCE(men.men1,'') || COALESCE(men.men2,''))
LIKE  '%FOTOS%') then
               doc_nomedoc := 'Fotos 3x4';
               EXECUTE 'INSERT INTO' ||gvc_docpend|| '('
||dcp_alumatric|| ',' ||dcp_aludocdescr|| ') VALUES (' ||men.matric||
',' ||doc_nomedoc|| ')';
          end if;
     END IF;
     END LOOP;END;

*
---------------------------------------------------------------------------------------------------------------------------------

*Se a minha dúvida for muito básica para esta lista podem me direcionar para
a lista correta, ok?*

*Agradeço a ajuda,

Jeanne
*
*
-- 
"O bem que praticas em qualquer lugar será teu advogado em toda parte."
Emmanuel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a