ja disse q deveria ser feito exatamente isso mas dentro de uma stored procedure
 
la na stored procure ele primeiro setava a sequence pra 1;
somente
 
----- Original Message -----
Sent: Friday, April 28, 2006 11:18 AM
Subject: [PostgreSQL-Brasil] RES: Contador de RESULTADOS

Utilizando a sugestão já enviada à lista, cheguei ao resultado:

 

 

create sequence numeracaoaux start 1;

select nextval('numeracaoaux'), codi_clie, nome_clie from clientes where codi_clie > 200 and codi_clie < 250;

 

 nextval | codi_clie |              nome_clie

---------+-----------+-------------------------------------

       1 |       201 | SILVA E MISSON LTDA

       2 |       202 | DEP.MAT.CONST.CRISTO REI LTDA

       3 |       203 | LINDALVA GUALBERTO DE MACEDO-ME

       4 |       204 | DARCI FERNANDES DE SOUZA-ME

       5 |       205 | VALDOMIRO MELO CARNEIRO

       6 |       206 | ELZA MOREIRA DE SOUZA

       7 |       207 | ANTONIO ANDRADE NETO

       8 |       208 | SUELI REGINA THOME - ME

       9 |       209 | DURVALINO SILVA FILHO-ME

      10 |       210 | JOSE ANTONIO FRANZE

      11 |       211 | CELSO CHUAMBACH

      12 |       212 | J.O.SOUZA & FILHOS LTDA

 

drop sequence numeracaoaux;

 

 

Se vc tiver permissão para criar e seqüências, isto deve resolver o seu problema de contagem de linhas...

 

 

Cristiano Martins

 

-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Salvador S. Scardua
Enviada em: sexta-feira, 28 de abril de 2006 11:01
Para:
[email protected]
Assunto: Re: [PostgreSQL-Brasil] Contador de RESULTADOS

 

Peço descupas a confusão que estou trazendo a lista, confesso agora lendo o histórico das mensagens que não estou sendo claro em alguns pontos, mas antes quero que entendam que o que busco é uma QUERY com NUMEROS SEQUENCIAIS (1,2,3,4,5, ...) indicando AS LINHAS de meus resultados, e NÃO seu total (select count(alguma_coisa))isso porque estou construindo um relatório, e tenho de NUMERAR as linhas, não possuo autorização para escrever NADA no banco, não posso alterar nenhuma tabela já criada, portante tudo que envolver a ESCRITA em um banco, não será uma solução.

 

Então já que não é para um trabalho, abordarei esse tópico como um pequeno desafio, uma brincadeira para aumentar nossa capacidade em conhecimento de QUERY, as regras são:

 

1º regra - A solução não poderá ESCREVER no banco.

 

2º regra - O count não é útil aqui, pois não quero UM VALOR TOTAL, quero que exista uma contagem referente a linha, ex:

 

--------------------------------------------

CORRETO

sem count

 

1  RESULTADO_DA_QUERY,

2  RESULTADO_DA_QUERY,

3  RESULTADO_DA_QUERY

--------------------------------------------

ERRADO

com count:

 

3 RESULTADOS

--------------------------------------------

 

3º regra - Não vale usar um número sequêncial de UMA TABELA, pois eu acesso VARIAS tabelas, pegando ou não o resultado de alguma ou outra.

 

4º O resultado deve então ser uma QUERY, ou um RECURSO de query (função), que NÃO grave nada do banco, NÃO use o COUNT, nem UMA PRIMARIA(serial) de alguma tabela envolvida na busca.

 

O resultado deve ser um contagem ascendente de linhas (1,2,3,...), uso muito isto em Fetchs feito dentro de Loops nas linguagens de programação que uso, mas nesta tarefa não terei a FACILIDADE de um contador (de linhas) de uma linguagem de alto nível, sou somente eu e o interpretador de query.

 

Mas se acharem que essa discussão já deu "muito pano pra manga", confesso estar agradecido com a quantidade de atenção que me forneceram.

 

Um obrigado a todos.

 

 

Message: 2
Date: Fri, 28 Apr 2006 10:03:37 -0300
From: "Ribamar Sousa" <[EMAIL PROTECTED]>
Subject: Re: [PostgreSQL-Brasil] Contador de RESULTADOS
(simplificando)
To: [email protected]
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Um colega já havia dado esta solução. Apenas vou mostrar sua saída, já
que não consegui executar a contendo essa saída em SQL da Luciane, ela
mostra somente o total.

Veja:

create table amizades(codigo serial, amigos char(20));
select * from amizades;

 codigo |        amigos
--------+----------------------
      1 | Ribamar
      2 | Marco
      3 | Roberto
      4 | Joao


2006/4/28, Luciane Zuanazzi <[EMAIL PROTECTED]>:
> E se vc fizer
>
>  select (count amigos) from
>  (select amigos from cadastros.amizades)
>
>  ???
>
>  não tenho nenhuma experiência com PostGres, mas em Sql se vc fizer isso,
> ele vai contar somente os amigos que são resultado do segundo select :)
>

--
Ribamar FS - ribafs[ ]users.sourceforge.com
http://www.ribafs.tk


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a