Função conta registros.
Caros colegas, estou com um problema difícil de resolver. Estou
criando uma função que primeiro vai na tabela de sistemas e busca as
tabelas que existe lá. Depois vai em cada uma dessas tabelas e conta
quantos registros tem na tabela. Só que não estou conseguindo guardar
o count dentro de uma variável. Vai abaixo o comando para ver se
alguém consegue achar o erro:
CREATE or replace FUNCTION conta_registro() RETURNS character varying
AS ´
declare
compara refcursor;
nmtabela char(12);
quantreg int4;
comando text;
comandocriar text;
begin
comandocriar = ´´create table comparativo1 (nmtabela char(12),
quantreg int);´´;
execute comandocriar;
open compara for select tablename from pg_tables
where schemaname = ´´public´´ order by tablename ;
loop
fetch compara into nmtabela;
if not found then
exit;
end if;
SELECT INTO QUANTREG COUNT(*) FROM || NMTABELA;
end loop;
close compara;
return ´´Seus dados foram inseridos com sucesso!´´;
end;´
LANGUAGE plpgsql;
O erro está dando na linha que está toda em letra maiúscula.
Crio um cursor pegando o nome da tabela e guardo em NMTABELA depois
quando quero fazer um count nessa tabela e guardar na variável
QUANTREG não dá certo. Já tentei vários comandos e não deu certo.
Grata!!!
criando uma função que primeiro vai na tabela de sistemas e busca as
tabelas que existe lá. Depois vai em cada uma dessas tabelas e conta
quantos registros tem na tabela. Só que não estou conseguindo guardar
o count dentro de uma variável. Vai abaixo o comando para ver se
alguém consegue achar o erro:
CREATE or replace FUNCTION conta_registro() RETURNS character varying
AS ´
declare
compara refcursor;
nmtabela char(12);
quantreg int4;
comando text;
comandocriar text;
begin
comandocriar = ´´create table comparativo1 (nmtabela char(12),
quantreg int);´´;
execute comandocriar;
open compara for select tablename from pg_tables
where schemaname = ´´public´´ order by tablename ;
loop
fetch compara into nmtabela;
if not found then
exit;
end if;
SELECT INTO QUANTREG COUNT(*) FROM || NMTABELA;
end loop;
close compara;
return ´´Seus dados foram inseridos com sucesso!´´;
end;´
LANGUAGE plpgsql;
O erro está dando na linha que está toda em letra maiúscula.
Crio um cursor pegando o nome da tabela e guardo em NMTABELA depois
quando quero fazer um count nessa tabela e guardar na variável
QUANTREG não dá certo. Já tentei vários comandos e não deu certo.
Grata!!!
Larac
Curtidas 0
Respostas
Marcelo_mileris
29/08/2007
Está no lugar errado o [b:f2f7a92971]INTO QUANTREG[/b:f2f7a92971]
SELECT COUNT(*) [b:f2f7a92971]INTO QUANTREG[/b:f2f7a92971] FROM || NMTABELA;
SELECT COUNT(*) [b:f2f7a92971]INTO QUANTREG[/b:f2f7a92971] FROM || NMTABELA;
GOSTEI 0
Larac
29/08/2007
Já tentei assim, tb não funciona
GOSTEI 0