Re: [pgbr-geral] Modelando um Controle de Estoque

2008-06-25 Por tôpico alecindro
Bem pessoal resolvi entrar na discussão. Sou programador java e metido a
Analista.

Primeiramente antes de modelarmos algo seria ideal estudarmos o processo que
envolve o controle de estoque. Com isso, poderíamos desenvolvermos em
módulos, e  ofertar um sistema de acordo com a necessidade do cliente.

O tópico em questão é sobre Controle de Estoque. Mas vi diversas
manifestações que, creio, fogem um pouco a controle de Estoque, que seriam
como vender, a quem vender, como comprar, de quem comprar.

Processo de Controle de Estoque:

Basicamente, compreende-se em 3 etapas:

entrada, logística de armazenagem e saída.

Podemos chamar um sistema voltado para Almoxarifado.

Entrada - Para entrada devemos responder as seguintes perguntas:

- toda entrada de mercadoria deve ter um documento de entrada?
- toda entrada de mercadoria deve ter um pedido previamente cadastrado?
- deve haver conferência entre o documento de entrada e o pedido?
- essa conferência é feita via sistema ou pelo operador?
- todo produto de entrada deve ter código de barras?
- Senão, devemos criar o código de barras, isto é, existe necessidade de
adotarmos código de barras?
- toda entrada é uma compra?
- produtos tem número de série?
- Como será tratado a entrada de produtos proveniente de devoluções, entregas
não efetuadas, cortesias, etc?

Logística de armazenagem:

- vamos identificar o local de armazenamento do produto?
- produtos similares com pequenas alterações iremos criar grade de produtos?
Exemplo: sapatos tamanho 34,36,38,40.
- produtos tem prazo de validade?
- produtos são em unidade, volume (kg, lt, cm, m), produtos a granel?

Saída:
- todo produto que tiver saída tem um documento para tal?
- toda saída tem nota fiscal?
- se a saída é feita por uma transportadora, correio ou motoboy é criado um
romaneio?
- é possível a saída de produtos que não sejam vendas (feiras,
demonstração, vendas em consignação)? Como tratar isso? Existirá documento
de saída?
- como serão tratadas as quebras? Existe documento para tal?
- produtos para mostruário são dados saídas do Almoxarifado ou é
identificado em local de armazenamento na logística?

Tem muito mais perguntas que isso, no entanto é um bom começo.

Lembrando. Toda transferência de mercadorias entre matriz x filial, filial x
filial, depósito x ambos, desde que em endereços distintos (obviamente terão
razões sociais distintas) deve ser emitido NF de transferência (Isso é Lei).
Dentro da mesma empresa é um caso de logística e que devemos tratar, pois
sempre devemos saber onde está a mercadoria (é o ideal).

Outras perguntas?
- Quem cadastra o produto, setor de compras ou almoxarifado?
- Quem cadastra o fornecedor, setor de compras ou almoxarifado?
- Quem cadastra o cliente, o setor de Vendas ou Crédito ou almoxarido?(EHEHEH)

Outras discussões que devemos abordar é que informações o Financeiro,
Compras, Vendas, Contabilidade e outros setores necessitam do Controle de
Estoque (preferia chamar de Almoxarifado).


Espero ter contribuído.



Alecindro



Quoting Wagner Bonfiglio [EMAIL PROTECTED]:

 Eu tenho algum conhecimento e algumas horas livres por dia, gostaria
 de entrar num projeto assim..

 Sou novo na lista e não acompanhei a discussão, mas posso ajudar no
 desenvolvimento sim!

 2008/6/24 Ribamar Sousa [EMAIL PROTECTED]:
 Desculpem-me se não estou conseguindo acompanhar o debate, acontece que o
 Coutinho me fez um convite e aceitei.
 Sinceramente estou sem tempo de ler e responder. Andei lendo boa parte e
 gostei muito da idéia do projeto e espero que não seja reinventar a roda.

 Mesmo que eu não esteja sem tempo mas fico contente pois o assunto esta em
 ótimas mãos. Para constar, se for preciso eu tenho um servidor com espaço
 ilimitado, é, ilimitado. Se precisarem de espaço e da criação de um portal
 num piscar de olhos, contem comigo.

 2008/6/23 Rudinei Dias [EMAIL PROTECTED]:

 Sugestão.

 Visto a dificuldade de achar software de estoque bom e aberto na net, e a
 vontade do Ribamar em liberar seu esforço de modelagem, poderíamos fazer um
 grupo para desenvolver o core do negócio, todo com implementação m pl/pgsql.
 Assim ficaria facil de desenvolver a interface em qualquer linguagem de
 programação, seja web ou desktop.
 Ai sim pensar em algo abrangente, bem genérico.



 --
 Ribamar FS - [EMAIL PROTECTED]
 http://ribafs.net
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Modelando um Controle de Estoque

2008-06-25 Por tôpico Alexsandro Haag
Como comentei antes, acho que seria interessante trabalharmos sobre o 
ER, pois somente assim conseguiremos demonstrar melhor o que falamos. Se 
for relatar todo o detalhamento de tabelas de movimento e filhas vai 
ficar longo e nosso tempo geralmente é curto.


Do contrário acabamos falando de um único ponto sem demonstrar toda a 
estruturação do ER, e parece como comentado abaixo, que se está falando 
de um único tabelão para tudo. E com certeza não é disso que estou falando.




Jocimar de Oliveira escreveu:

On Tuesday 24 June 2008 16:52:50 Alexsandro Haag wrote:
  

Leandro DUTRA escreveu:


2008/6/24 Alexsandro Haag [EMAIL PROTECTED]:
  

Pode ser sim. Dá prá fazer separado. Mas normalmente é uma mesma
tabela, pois é tudo movimento de estoque.


Então há uma tabela com movimento de estoque, e outra específica
para cada tipo de movimento de estoque.  Se não, vira bagunça.
  

Não entendi por que bagunça? teria apenas uma campo indicando a
CFOP e dentro da tabela de CFOPs um qualificador de saída ou entrada.




Como ficaria a movimentação no momento do faturamento para entrega 
futura (não baixa estoque), e o faturamento que acompanha as 
mercadorias referente a entrega futura (baixa estoque) ?


O movimento dos produtos num único arquivo é interessante para registrar 
apenas a movimentação, da qual vêm das saídas (NF, Ordem de 
Serviço/Ordem de produção, etc ...) e das entradas (NF, Romaneios de 
entrada, entrada por produção).


Não consigo ver um único arquivo para controlar várias origens de 
entradas e saídas de produtos, isto fazendo referências com vários 
campos para tal identificação. Aconselho fazer a movimentação dos 
produtos num arquivo separado, mas que tal arquivo não seja a tabela 
filha de várias origens, realmente ficaria uma tabela com uma 
infinidade de campos.


Na questão de códigos fiscais, é algo muito complicado para simplificar 
como entrada e saída de mercadoria, já que existe muitos códigos 
fiscais que não geram tal movimentação, por exemplo, como ficaria as 
entradas dos documentos com modelo:

06 - Energia elétrica,
08 a 11 que são conhecimentos de fretes que acompanham mercadoria ou que 
realmente são documentos de faturamento de transportadoras,

modelo 22 - Telecomunicação, que pode ser compra ou venda da mesma.

Imagina que teríamos que cruzar modelo fiscal x código fiscal x situação 
tributária x alíquota de ICMS x alíquota de IPI.


Venho desenvolvendo há quase 20 anos, e não consigo ver uma 
centralização de tabelas para diminuir, pois isto vai aumentar e 
muito o tamanho de registros e irá gerar muitos, mas muitos problemas 
para gravar e ler estas informações, que no meu ponto de vista seria um 
trabalho para ser jogado e iniciado um novo.


Vou continuar acompanhando estes e-mail's, pois achei interessante o 
ponto de vista de cada um que foi postado. legal !


  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Alexsandro Haag

Ótimo, é o caminho que estou pretendendo.
Obrigado!

Dickson Guedes escreveu:

Alexsandro Haag escreveu:
  
Pessoal, vi que em mensagens anteriores foi comentado, talvez pelo 
Leandro (acabei não guardando o e-mail) algo referente ao Hibernate 
conflitando com a geração de chaves naturais no Postgresql.



IMHO, isso depende da metodologia de geração de classes adotada.

O fluxo pode ser algo como:

Cria-se o diagrama de classes - Cria-se o diagrama ER - Cria-se as 
entidades - Gera-se as classes a partir das entidades criadas.


Neste modelo o DBA vai criando a base de dados conforme as regras de 
negócio e o Hibernate vai se adaptando a este modelo fisico.


  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Alexsandro Haag



Leandro DUTRA escreveu:

2008/6/24 Alexsandro Haag [EMAIL PROTECTED]:
  

Pessoal, vi que em mensagens anteriores foi comentado, talvez pelo
Leandro (acabei não guardando o e-mail) algo referente ao Hibernate
conflitando com a geração de chaves naturais no Postgresql.



Não somente... o Hibernate tem uma série de práticas que dificulta
manter um bom modelo.

Por exemplo, os programadores Hibernate costumam reclamar de chaves
naturais compostas.

  
Certo entendi. Acho que vou sentir estes problemas na prática, deve ser 
um bom aprendizado.
  

Gostaria de entender melhor o que seria este problema, pois estou
justamente iniciando um projeto em Postgresql + Hibertante + Visual JSF.
Pensei também em utilizar PLJava em preferência ao PL/Pgsql.



Java é bem mais difícil de programar que PL/pgSQL.  É basicamente C++ vs Ada.
  
   Acho Java muito parecido com C++. Isso quer dizer que PL/pgSQL é 
parecido com Ada? Acho que não. Brincadeira, entendi sua colocação, é só 
para descontrair mesmo.


   Acho que o PL/SQL do Oracle, ao qual estou mais familiarizado é mais 
próximo do Pascal do que de C++. E pelos poucos códigos que já montei em 
PL/pgSQL achei parecido com a sintaxe da Oracle.
  
   Na verdade me sinto a vontade com Java, nunca trabalhei com PL/Java, 
mas acho que, como tenho a intenção de desenvolver o Projeto em Java 
seria interessante poder programar as funções e procedures do banco com 
a mesma linguagem.


   Mas isso ainda é o que tenho mais dúvidas. Vou iniciar assim, se 
perceber que a dificuldade não compensará o esforço aí volto para o 
PL/pgSQL.
  

Gostaria também da opinião de vocês sobre as tecnologias adotadas e
sobre esta questão do PL...


Eu daria uma olhada no Python, o SQL Alchemy tem sido muito elogiado.
  
   Pois é, realmente pensei nisso, mais especificamente no Django, pois 
o frontend do projeto é Web. Mas acabei optando pelo Java mesmo, acho 
que está mais consolidado. Opinião pessoal.
  

Obrigado Leandro!

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Alexsandro Haag

Certo. Vou por este caminho então. Primeiro faço o modelo físico.
Obrigado!

Dickson Guedes escreveu:

Leandro DUTRA escreveu:
  

(...) derivar o DER de classes é um desastre.



Concordo. Por isso que prefiro que as classes de mapeamento sejam 
criadas com base no modelo físico do banco de dados.


Se deixar que o Hibernate gere o DER com base nas suas classes de 
mapeamento os resultados podem não ser os esperados.


  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Modelando um Controle de Estoque

2008-06-25 Por tôpico Alexsandro Haag

Sim Willian, tem razão.

Percebi isso e comentei com o pessoal que seria mais produtivo trabalhar 
sobre o DER do que ficarmos defendendo cada um seu jeito pessoal de 
fazer, desta forma o que falamos pode ser analisado como um todo.




Willian Jhonnes Lara dos Santos escreveu:
Olá, pessoal... Desculpem minha intromissão na thread, tendo em 
vista que a discussão vai longe ainda.


Tenho acompanhado o assunto, com certo interesse, afinal, algo de 
positivo se tira de tudo isso. Salvo opiniões pessoais, acho esta 
discussão bem produtiva.


Bem, de maneira prática, algumas questões não ficaram bem 
definidas. Um bom exemplo é este:


  Que seja, mas como faria uma transferência de uma empresa para a mesma?
Não existe mesma empresa com endereços diferentes, se os 
endereços são diferentes obrigatoriamente é outra empresa (filial)...


[corte]

Não se trata de Gambiarra, pois estamos garantindo a 
integridade através do ID sequencial...


Um exemplo prático para isso: em uma entidade EMPRESA, cria-se uma 
sequence para controlar o índice da entidade, servindo também como 
chave primária. Nesta entidade, o CNPJ N�O é referenciado! Apenas 
os dados mais relevantes da empresa são, como tributação, etc. Em 
uma entidade FILIAIS são referenciados dados como CNPJ, endereço, 
etc., mas tendo como controle um valor seqÃŒencial baseado em uma 
foreign key vinda da entidade EMPRESA. Com isso, cada empresa pode ter 
n filiais, mesmo que com o mesmo CNPJ e endereço. Isso não é 
gambiarra, é um método de controle eficiente, muito útil para 
empresas pequenas. (Ex.: Empresa 1 Filial 1; Empresa 1 Filial 2; 
Empresa 2 Filial 1; Empresa 2 Filial 2; Empresa 2 Filial 3; etc.)


Neste ponto, vejo que modelos únicos podem render certas vantagens no 
que tange a produtividade. Fica muito mais fácil desenvolver com a 
modelagem definida, mas vejo que o consenso para isso é difícil de 
se conseguir.


Não vejo porque um assunto tão positivo quanto este tenha de virar 
um cabo-de-guerra baseado em opiniões pessoais.


Mais uma vez, desculpem a intromissão.

[]'s
 
---

Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
[EMAIL PROTECTED]
---
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---
Powered by Slackware Linux 12.0
Kernel 2.6.21.5-custom
---


Novos endereços, o Yahoo! que você conhece. Crie um email novo 
http://br.rd.yahoo.com/mail/taglines/mail/*http://br.new.mail.yahoo.com/addresses 
com a sua cara @ymail.com ou @rocketmail.com.



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] case sensitive

2008-06-25 Por tôpico jota . comm
Olá,

No PostgreSQL não existe nenhum parâmetro de configuração para isso. O
PostgreSQL não considera casa sensitive para objetos, mas considera para os
dados, por exemplo, se você tem um campo da tabela com o conteúdo teste e
você procurar por Teste ele não vai encontrar o registro, uma vez que o
conteúdo armazenado é teste e você está procurando por Teste.

Para resolver isso você precisar usa as funções de manipulações de strings
(lower=converte para minúsculo e upper=converte para maiúsculo) de strings
ou expressões regulares.

[]s



2008/6/24 josemario rosa [EMAIL PROTECTED]:

 Bom acho que não soube me expressar direito. Já fiz a importação dos dados
 para o postgre, já mudei o o hibernate para ele conectar o post, mas quando
 eu vou buscar alugo no banco na tabela paciente  como 'Jose' e no banco
 esta JOSE  ele não acha. Um professor meu falo q tenho como desabilitar
 isto no postgre.conf.


 Em 24/06/08, Joao [EMAIL PROTECTED] escreveu:

  meu caro se por acaso teu script ta criando os campos ou tabelas com  
 sugiro que faca o seguinte:

 cat arquivo | tr -d \  novo_arquivo

 pronto!


  - Original Message -
 *From:* jota.comm [EMAIL PROTECTED]
 *To:* Comunidade PostgreSQL Brasileirapgbr-geral@listas.postgresql.org.br
 *Sent:* Tuesday, June 24, 2008 6:31 PM
 *Subject:* Re: [pgbr-geral] case sensitive


 Olá,

 Como assim tendo problemas com o case sensitive. Por padrão, o PostgreSQL
 sempre trata os caracteres como minúsculos, a não ser que você coloque o
 nome dos objetos entre aspas duplas.

 Por exemplo:

 postgres=# CREATE TABLE TABELA(CODIGO INTEGER);
 CREATE TABLE
 postgres=# \d TABELA
 Table public.tabela
  Column |  Type   | Modifiers
 +-+---
  codigo | integer |

 postgres=# CREATE TABLE TABELA_123(CODIGO INTEGER);
 CREATE TABLE
 postgres=# \d tabela_123
 Did not find any relation named tabela_123.

 O PostgreSQL considera que todos os objetos são minúsculos, como a tabela
 foi criada com aspas duplas () o PostgreSQL não encontra o objeto, porque
 foi especificado que o nome do objeto é TABELA_123 e não tabela_123.

 postgres=# \d TABELA_123
   Table public.TABELA_123
  Column |  Type   | Modifiers
 +-+---
  codigo | integer |

 Espero ter ajudado.

 []S

 2008/6/24 josemario rosa [EMAIL PROTECTED]:

 Ola a todos tenho um sistema com mais de 170 tabelas e estou migrando  elas
 para postgre, estou tendo  um problema com o case sensitive do postgre
 gostaria de saber se tem como desabilitar esta função no servidor  já
 dei uma pesquisada na internet não achei nada . se não vou ter  que
 tratar isto no em todas minhas classe dao





 Grato

 Jose Mario

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




 --
 João Paulo
 www.dextra.com.br/postgres
 PostgreSQL

 --

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Alexsandro Haag [EMAIL PROTECTED]:
 Certo. Vou por este caminho então. Primeiro faço o modelo físico.

Primeiro o conceitual, daí o físico, só então o Java...


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Alexsandro Haag [EMAIL PROTECTED]:

 Acho Java muito parecido com C++. Isso quer dizer que PL/pgSQL é
 parecido com Ada? Acho que não.

Mas é mesmo, só que simplificado e direcionado para SQL.

Na verdade, PL/pgSQL é baseado no Oracle PL/SQL, que é baseado numa
versão de rascunho do SQL/PSM, que é baseado em Ada.

O que me faz lembrar que todos deveríamos usar SQL/PSM ou alguma outra
linguagem procedural padrão (Java, Python, Ruby c) em vez de
PL/pgSQL, uma vez que esta está obsoleta — foi criada apenas para
compatibilidade com Oracle; agora que o padrão SQL/PSM está
disponível, é o que deveria ser usado.

Talvez ainda seja necessário usar PL/pgSQL por motivos físicos ou
capacidades ainda não implementadas alhures, mas o caminho está claro.


 Pois é, realmente pensei nisso, mais especificamente no Django, pois o
 frontend do projeto é Web. Mas acabei optando pelo Java mesmo, acho que está
 mais consolidado. Opinião pessoal.

O que você quer dizer com isso?  Python está bem maduro e é muito mais
produtivo, então num caso geral eu preferiria.


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Modelando um Controle de Estoque

2008-06-25 Por tôpico Jocimar de Oliveira
O que coloquei abaixo é parte de um movimento de estoque, e não foje ao 
que postei.

Por favor, qual o real objetivo que deverá atender ?, pois no mencionado 
abaixo não coloquei movimentação por cupom fiscal e negociação com 
clientes onde envolve custo de última entrada com várias classes para 
formação de preço.

Acredito que seria interessante ter qual o objetivo final deste 
trabalho, o quê ele irá atender e informar.


On Wednesday 25 June 2008 08:00:08 Alexsandro Haag wrote:
 Como comentei antes, acho que seria interessante trabalharmos sobre o
 ER, pois somente assim conseguiremos demonstrar melhor o que falamos.
 Se for relatar todo o detalhamento de tabelas de movimento e filhas
 vai ficar longo e nosso tempo geralmente é curto.

 Do contrário acabamos falando de um único ponto sem demonstrar toda a
 estruturação do ER, e parece como comentado abaixo, que se está
 falando de um único tabelão para tudo. E com certeza não é disso que
 estou falando.

 Jocimar de Oliveira escreveu:
  On Tuesday 24 June 2008 16:52:50 Alexsandro Haag wrote:
  Leandro DUTRA escreveu:
  2008/6/24 Alexsandro Haag [EMAIL PROTECTED]:
  Pode ser sim. Dá prá fazer separado. Mas normalmente é uma mesma
  tabela, pois é tudo movimento de estoque.
 
  Então há uma tabela com movimento de estoque, e outra específica
  para cada tipo de movimento de estoque.  Se não, vira bagunça.
 
  Não entendi por que bagunça? teria apenas uma campo indicando
  a CFOP e dentro da tabela de CFOPs um qualificador de saída ou
  entrada.
 
  Como ficaria a movimentação no momento do faturamento para entrega
  futura (não baixa estoque), e o faturamento que acompanha as
  mercadorias referente a entrega futura (baixa estoque) ?
 
  O movimento dos produtos num único arquivo é interessante para
  registrar apenas a movimentação, da qual vêm das saídas (NF, Ordem
  de Serviço/Ordem de produção, etc ...) e das entradas (NF,
  Romaneios de entrada, entrada por produção).
 
  Não consigo ver um único arquivo para controlar várias origens de
  entradas e saídas de produtos, isto fazendo referências com vários
  campos para tal identificação. Aconselho fazer a movimentação dos
  produtos num arquivo separado, mas que tal arquivo não seja a
  tabela filha de várias origens, realmente ficaria uma tabela com
  uma infinidade de campos.
 
  Na questão de códigos fiscais, é algo muito complicado para
  simplificar como entrada e saída de mercadoria, já que existe
  muitos códigos fiscais que não geram tal movimentação, por exemplo,
  como ficaria as entradas dos documentos com modelo:
  06 - Energia elétrica,
  08 a 11 que são conhecimentos de fretes que acompanham mercadoria
  ou que realmente são documentos de faturamento de transportadoras,
  modelo 22 - Telecomunicação, que pode ser compra ou venda da mesma.
 
  Imagina que teríamos que cruzar modelo fiscal x código fiscal x
  situação tributária x alíquota de ICMS x alíquota de IPI.
 
  Venho desenvolvendo há quase 20 anos, e não consigo ver uma
  centralização de tabelas para diminuir, pois isto vai aumentar e
  muito o tamanho de registros e irá gerar muitos, mas muitos
  problemas para gravar e ler estas informações, que no meu ponto de
  vista seria um trabalho para ser jogado e iniciado um novo.
 
  Vou continuar acompanhando estes e-mail's, pois achei interessante
  o ponto de vista de cada um que foi postado. legal !

 Esta mensagem foi verificada pelo E-mail Protegido Terra.
 Atualizado em 25/06/2008



-- 
Saudações,

Jocimar de Oliveira
www.jocimar.com.br
(42) 8402-3035
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Modelando um Controle de Estoque

2008-06-25 Por tôpico Dickson Guedes
[EMAIL PROTECTED] escreveu:
 O tópico em questão é sobre Controle de Estoque. Mas vi diversas
 manifestações que, creio, fogem um pouco a controle de Estoque, que seriam
 como vender, a quem vender, como comprar, de quem comprar.

Apenas reforçando, já foi citado nesse mesmo tópico o Sistema Stoq que 
se propõe a fazer isso. Como o Riba falou, cuidado com a re-invenção da 
roda.

Quem sabe, ao invés disso, o grupo de interessados poderia reunir 
esforços e ajudar no projeto já existente, já que o Stoq utiliza o nosso 
elefantinho e poderia ser uma boa forma de colocar em prática todo esse 
conhecimento aqui existente.


Apenas uma opnião :)

-- 
[]s
Dickson S. Guedes
-
Projeto Colmeia - Curitiba - PR
(41) 3254-7130 ramal: 27
http://pgcon.postgresql.org.br
http://makeall.wordpress.com/
http://planeta.postgresql.org.br/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Vasco Antonio
Bom dia lista,

Seguinte, tenho duas tabelas A e B.

Table A
-
id - (sequence)
nome

Tabela B
-
id - (sequence)
obs
idtba - FK

Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
ao gravar os dados na mesma preciso fazer um insert na tabela B para
informar um log e o id (FK) que foi gerado na sequence da tabela A.

Como posso fazer isso direto no banco, visto que se fizer no código
pegando último registro corro o risco de lincar dados de registros
diferentes.

Agradeço desde já a ajuda.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Joao
utilize trigger
- Original Message - 
From: Vasco Antonio [EMAIL PROTECTED]
To: pgbr-geral@listas.postgresql.org.br
Sent: Wednesday, June 25, 2008 10:13 AM
Subject: [pgbr-geral] INSERT SIMULTÂNEO


Bom dia lista,

Seguinte, tenho duas tabelas A e B.

Table A
-
id - (sequence)
nome

Tabela B
-
id - (sequence)
obs
idtba - FK

Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
ao gravar os dados na mesma preciso fazer um insert na tabela B para
informar um log e o id (FK) que foi gerado na sequence da tabela A.

Como posso fazer isso direto no banco, visto que se fizer no código
pegando último registro corro o risco de lincar dados de registros
diferentes.

Agradeço desde já a ajuda.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Leonardo Cezar
On Wed, Jun 25, 2008 at 10:13 AM, Vasco Antonio [EMAIL PROTECTED] wrote:

 Seguinte, tenho duas tabelas A e B.

 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

[corte]

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.

BEGIN;
INSERT INTO A(id) VALUES(nextval('seq_id'));
INSERT INTO B(id) VALUES(currval('seq_id'));
COMMIT;

-Leo
-- 
Leonardo Cezar
http://pgcon.postgresql.org.br
http://www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Evandro Ricardo Silvestre
Vasco Antonio wrote:
 Bom dia lista,

 Seguinte, tenho duas tabelas A e B.

 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

 Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
 ao gravar os dados na mesma preciso fazer um insert na tabela B para
 informar um log e o id (FK) que foi gerado na sequence da tabela A.

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.
   
Utilize trigger.
Acho que isso pode te ajudar: 
http://pgdocptbr.sourceforge.net/pg82/plpgsql-trigger.html#PLPGSQL-TRIGGER-AUDIT-EXAMPLE

Evandro
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Res: INSERT SIMULTÂNEO

2008-06-25 Por tôpico Willian Jhonnes Lara dos Santos
Simples: dispare uma trigger na tabela A que faça o insert na tabela B.

[]'s

 ---
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
[EMAIL PROTECTED]
---
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---
Powered by Slackware Linux 12.0
Kernel 2.6.21.5-custom
---


- Mensagem original 
De: Vasco Antonio [EMAIL PROTECTED]
Para: pgbr-geral@listas.postgresql.org.br
Enviadas: Quarta-feira, 25 de Junho de 2008 10:13:48
Assunto: [pgbr-geral] INSERT SIMULTÂNEO

Bom dia lista,

Seguinte, tenho duas tabelas A e B.

Table A
-
id - (sequence)
nome

Tabela B
-
id - (sequence)
obs
idtba - FK

Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
ao gravar os dados na mesma preciso fazer um insert na tabela B para
informar um log e o id (FK) que foi gerado na sequence da tabela A.

Como posso fazer isso direto no banco, visto que se fizer no código
pegando último registro corro o risco de lincar dados de registros
diferentes.

Agradeço desde já a ajuda.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



  Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico jota . comm
Olá,

Você pode fazer um gatilho (trigger) que assim que inserir na tabela A
insira também na tabela B.

[]s

2008/6/25 Vasco Antonio [EMAIL PROTECTED]:

 Bom dia lista,

 Seguinte, tenho duas tabelas A e B.

 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

 Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
 ao gravar os dados na mesma preciso fazer um insert na tabela B para
 informar um log e o id (FK) que foi gerado na sequence da tabela A.

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.

 Agradeço desde já a ajuda.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Vasco Antonio [EMAIL PROTECTED]:
 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

Faça-se um favor, se não for possível dar chaves naturais, pelo menos
use domínios para dar nomes consistentes, por exemplo, no caso, ou
nome é chave, ou CREATE DOMAIN idtba para usar nas duas.


 Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
 ao gravar os dados na mesma preciso fazer um insert na tabela B para
 informar um log e o id (FK) que foi gerado na sequence da tabela A.

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.

Qual a dificuldade em pegar o valor da seqüencia inserido em A?

-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Ribamar Sousa
Duas saídas: triggers e rules (estas são mais simples).
Aqui tem uns exemplos simples inspirados na documentação:

http://pg.ribafs.net/down/prog//Modulo1Aula14FuncoesTriggers.pdf


2008/6/25 Vasco Antonio [EMAIL PROTECTED]:

 Bom dia lista,

 Seguinte, tenho duas tabelas A e B.

 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

 Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
 ao gravar os dados na mesma preciso fazer um insert na tabela B para
 informar um log e o id (FK) que foi gerado na sequence da tabela A.

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.

 Agradeço desde já a ajuda.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Ribamar FS - [EMAIL PROTECTED]
http://ribafs.net
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico José Mello Júnior
Faça utilizando gatilho e se for o caso dentro da função gatilho (Triggers)
você faz a chamada para a sequencia completando o registro da tabela A.

[]´s

2008/6/25 Vasco Antonio [EMAIL PROTECTED]:

 Bom dia lista,

 Seguinte, tenho duas tabelas A e B.

 Table A
 -
 id - (sequence)
 nome

 Tabela B
 -
 id - (sequence)
 obs
 idtba - FK

 Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
 ao gravar os dados na mesma preciso fazer um insert na tabela B para
 informar um log e o id (FK) que foi gerado na sequence da tabela A.

 Como posso fazer isso direto no banco, visto que se fizer no código
 pegando último registro corro o risco de lincar dados de registros
 diferentes.

 Agradeço desde já a ajuda.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
José de Mello Júnior
41.9957-2007
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Alexsandro Haag

Como comentei, é mais preferência pessoal mesmo.
Quando falei em consolidado me referi aos órgãos independentes 
reguladores dos padrões Java. Ou seja, não está nas mãos da SUN como é o 
caso do .net da Microsoft. E o empenho sobre a OpenJDK também me estimulou.


Com certeza Python é uma excelente linguagem e de aprendizado mais fácil 
que Java. Mas a questão produtividade é relativa.


Leandro DUTRA escreveu:

2008/6/25 Alexsandro Haag [EMAIL PROTECTED]:
  

Acho Java muito parecido com C++. Isso quer dizer que PL/pgSQL é
parecido com Ada? Acho que não.



Mas é mesmo, só que simplificado e direcionado para SQL.

Na verdade, PL/pgSQL é baseado no Oracle PL/SQL, que é baseado numa
versão de rascunho do SQL/PSM, que é baseado em Ada.

O que me faz lembrar que todos deveríamos usar SQL/PSM ou alguma outra
linguagem procedural padrão (Java, Python, Ruby c) em vez de
PL/pgSQL, uma vez que esta está obsoleta � foi criada apenas para
compatibilidade com Oracle; agora que o padrão SQL/PSM está
disponível, é o que deveria ser usado.

Talvez ainda seja necessário usar PL/pgSQL por motivos físicos ou
capacidades ainda não implementadas alhures, mas o caminho está claro.


  

Pois é, realmente pensei nisso, mais especificamente no Django, pois o
frontend do projeto é Web. Mas acabei optando pelo Java mesmo, acho que está
mais consolidado. Opinião pessoal.



O que você quer dizer com isso?  Python está bem maduro e é muito mais
produtivo, então num caso geral eu preferiria.


  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sobre Hibernate + Postgres + PLJava

2008-06-25 Por tôpico Alexsandro Haag

Sim, com certeza. O físico só consegue existir partindo do conceitual.

Leandro DUTRA escreveu:

2008/6/25 Alexsandro Haag [EMAIL PROTECTED]:
  

Certo. Vou por este caminho então. Primeiro faço o modelo físico.



Primeiro o conceitual, daí o físico, só então o Java...


  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Modelando um Controle de Estoque

2008-06-25 Por tôpico Alexsandro Haag
O Stoq inclusive não faz apenas isso. Ele tem também outros módulos: 
controle financeiro, ECF, CRM e outros.


Uma coisa legal dele é que suas versões podem ser atualizadas via apt-get.

Esse é o link onde falam sobre ajuda no desenvolvimento: 
http://www.stoq.com.br/index.php?option=com_contenttask=viewid=42Itemid=60 
http://www.stoq.com.br/index.php?option=com_contenttask=viewid=42Itemid=60


Dickson Guedes escreveu:

[EMAIL PROTECTED] escreveu:
  

O tópico em questão é sobre Controle de Estoque. Mas vi diversas
manifestações que, creio, fogem um pouco a controle de Estoque, que seriam
como vender, a quem vender, como comprar, de quem comprar.



Apenas reforçando, já foi citado nesse mesmo tópico o Sistema Stoq que 
se propõe a fazer isso. Como o Riba falou, cuidado com a re-invenção da 
roda.


Quem sabe, ao invés disso, o grupo de interessados poderia reunir 
esforços e ajudar no projeto já existente, já que o Stoq utiliza o nosso 
elefantinho e poderia ser uma boa forma de colocar em prática todo esse 
conhecimento aqui existente.



Apenas uma opnião :)

  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ERRO: duplicar chave viola a restri ção de unicidade pg_statistic_relid_at t_index

2008-06-25 Por tôpico Flávio Luiz Castro
Euler, desculpe mas estou terminando o processo de restauração mas vou te
passar os logs dos processos que estavam em execução no momento que ocorreu
a queda.

Você prefere a versão 8.2.9 ao invés de 8.3?

[]s

2008/6/20 Euler Taveira de Oliveira [EMAIL PROTECTED]:

 Flávio Luiz Castro wrote:

  o problema é que estava em
  rotina de vacuum algumas coisas não foram possiveis de restaurar pois o
  pg_attribute, o pg_catalog também deram problema.
 
 O VACUUM *não* corrompe o catálogo. Podes ser mais claro? Se for
 problema de memória talvez você tenha perdido alguma informação no
 catálogo; isso não quer dizer que você não perderia informação se não
 estivesse executando o VACUUM.

  A versão atual é 8.2.4.
^^^
 Atualize rapidamente para 8.2.9.


 --
Euler Taveira de Oliveira
   http://www.timbira.com/
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 

.~.
/ v \ Flávio Luiz Castro
/ ( _ )\
^ ^ Linux Registered User: 347610
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Sp's

2008-06-25 Por tôpico Cristina Mangueira Rocha
Tenho algumas SP's de um banco de dados que estão em desenvolvimento
e eu preciso atualizar algumas bases de dados diferentes para testes.
Porém, atualizar uma a uma manualmente em todas as bases é muito
demorado e falho, visto que quem atualiza pode deixar passar alguma.
Eu guardo essas SP's cada uma separada em um arquivo .sql,
alguem sabe alguma forma de eu executar todos esses arquivos
automaticamente por um script ou algo do tipo?

Obrigada,

Cris
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sp's

2008-06-25 Por tôpico William Leite Araújo
 Caso seu ambiente seja linux, uma das possibilidades é usar o find
com opção -exec para fazer o psql executar os mesmos.

Ex.:

find ~/sqlfunctions/ -name *.sql -exec psql -p 5432 -U postgres -h host  {}
\;


2008/6/25 Cristina Mangueira Rocha [EMAIL PROTECTED]:

 Tenho algumas SP's de um banco de dados que estão em desenvolvimento
 e eu preciso atualizar algumas bases de dados diferentes para testes.
 Porém, atualizar uma a uma manualmente em todas as bases é muito
 demorado e falho, visto que quem atualiza pode deixar passar alguma.
 Eu guardo essas SP's cada uma separada em um arquivo .sql,
 alguem sabe alguma forma de eu executar todos esses arquivos
 automaticamente por um script ou algo do tipo?

 Obrigada,

 Cris

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
William Leite Araújo
Analista de Banco de Dados - QualiConsult
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] instalação tcl

2008-06-25 Por tôpico flavio cardoso
alguém já conseguiu instalar pltcl no windows ? já tentei de tudo e
nadapesquisei e não achei nada. setei o path, tentar criar na mão mas
não obtive sucesso.
o erro é o seguinte:  ERROR:  could not load library C:/Arquivos de
programas/PostgreSQL/8.3/lib/pltcl.dll: unknown error 126
a dll está lá no caminho, já verifiquei...

-- 
O temor do Senhor é o princípio do conhecimento; mas os insensatos desprezam
a sabedoria e a instrução. Pv 1;7

Flávio Cardoso
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] INSERT SIMULTÂNEO

2008-06-25 Por tôpico Joao
acho que q a dica do leo é bem mais simples usando o currval
  - Original Message - 
  From: José Mello Júnior 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Wednesday, June 25, 2008 11:35 AM
  Subject: Re: [pgbr-geral] INSERT SIMULTÂNEO


  Faça utilizando gatilho e se for o caso dentro da função gatilho (Triggers) 
você faz a chamada para a sequencia completando o registro da tabela A.

  []´s


  2008/6/25 Vasco Antonio [EMAIL PROTECTED]:

Bom dia lista,

Seguinte, tenho duas tabelas A e B.

Table A
-
id - (sequence)
nome

Tabela B
-
id - (sequence)
obs
idtba - FK

Tenho um formulário onde é feita a entrada dos dados na tabela A, mas
ao gravar os dados na mesma preciso fazer um insert na tabela B para
informar um log e o id (FK) que foi gerado na sequence da tabela A.

Como posso fazer isso direto no banco, visto que se fizer no código
pegando último registro corro o risco de lincar dados de registros
diferentes.

Agradeço desde já a ajuda.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




  -- 
  José de Mello Júnior
  41.9957-2007 


--


  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Fwd: tabela com muitos updates

2008-06-25 Por tôpico Magno Lima
Ola pessoal,

Tenho uma tabela com mutos updates diarios, na mesma linha e
praticamente não ha muita inserção. Cada linha chega a ser atualizada mais
de 1000 vezes por dia. Se eu estivesse utilizando um outro SGDB
possivelmente isto não seria um problema chato, mas no Pg por conta de sua
estratégia de atualizacao a tabela tende a ficar gigante, para termos uma
ideia, a tabela qdo passo o vacuum tem cerca de 190Kb, depois de um dia de
atualização alcança facilmente os 20Mb. Tenho um programa que fica rodando o
vaccum todo dia a noite nesta tabela para manter a performance. A questão
mesmo é: é possivel desabilitar este método ou usar outra tecnica para igual
situação? O.o ... please dont blame me! :D heheheh serio, podem rir, mas há
outra técnica ao menos?

Valeu!

Magno
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] comparando query

2008-06-25 Por tôpico Mr J.L.
Pessoal
  Tenho uma query laza... em meu sistema que faz o seguinte:

select 
count(*) as tam, max(connumero) as connumero
from contrato 
inner join veiculo on conveioid=veioid
inner join clientes cl on conclioid=cl.clioid
where veichassi='9BFXCE2U98BB06345'
and conclioid not in ( select clioid from clientes where (case when cl.clitipo 
= 'F' then clino_cpf else clino_cgc end) = '57468923' );
--Aggregate  (cost=12362.10..12362.11 rows=1 width=4)


select 
count(*) as tam, max(connumero) as connumero
from contrato 
inner join veiculo on conveioid=veioid
inner join clientes cl on conclioid=cl.clioid
where veichassi='9BFXCE2U98BB06345'
and conclioid not in ( select clioid from clientes where (clino_cpf = 
'57468922' or clino_cgc ='57468922') );
Aggregate  (cost=15392.80..15392.81 rows=1 width=4)

Eu testei algumas opcoes eu nao encontrei diferenca (a nao ser o custo) eu 
gostaria de confirmar essa informacoa c/ vcs. tipo, essas duas consultas fazem 
a mesma coisa, produzem o mesmo resultado.

Obrigado.


  Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Fwd: tabela com muitos updates

2008-06-25 Por tôpico jota . comm
Olá,

Existe o processo de autovacuum.

http://www.postgresql.org/docs/8.3/interactive/routine-vacuuming.html
http://www.postgresql.org/docs/8.3/interactive/runtime-config-autovacuum.html

[]s

2008/6/25 Magno Lima [EMAIL PROTECTED]:

 Ola pessoal,

 Tenho uma tabela com mutos updates diarios, na mesma linha e
 praticamente não ha muita inserção. Cada linha chega a ser atualizada mais
 de 1000 vezes por dia. Se eu estivesse utilizando um outro SGDB
 possivelmente isto não seria um problema chato, mas no Pg por conta de sua
 estratégia de atualizacao a tabela tende a ficar gigante, para termos uma
 ideia, a tabela qdo passo o vacuum tem cerca de 190Kb, depois de um dia de
 atualização alcança facilmente os 20Mb. Tenho um programa que fica rodando o
 vaccum todo dia a noite nesta tabela para manter a performance. A questão
 mesmo é: é possivel desabilitar este método ou usar outra tecnica para igual
 situação? O.o ... please dont blame me! :D heheheh serio, podem rir, mas há
 outra técnica ao menos?

 Valeu!

 Magno


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sp's

2008-06-25 Por tôpico William Leite Araújo
ERRATA!

Não é possível usar o operador bash ''. Para funcionar, use a opção '-f' do
psql.

O comando fica da seguinte forma:

*find ~/sqlfunctions/ -name *.sql -exec psql -p 5432 -U postgres -h host -f {}
\; *

2008/6/25 William Leite Araújo [EMAIL PROTECTED]:

  Caso seu ambiente seja linux, uma das possibilidades é usar o find
 com opção -exec para fazer o psql executar os mesmos.

 Ex.:

 find ~/sqlfunctions/ -name *.sql -exec psql -p 5432 -U postgres -h host 
 {} \;


 2008/6/25 Cristina Mangueira Rocha [EMAIL PROTECTED]:

 Tenho algumas SP's de um banco de dados que estão em desenvolvimento
 e eu preciso atualizar algumas bases de dados diferentes para testes.
 Porém, atualizar uma a uma manualmente em todas as bases é muito
 demorado e falho, visto que quem atualiza pode deixar passar alguma.
 Eu guardo essas SP's cada uma separada em um arquivo .sql,
 alguem sabe alguma forma de eu executar todos esses arquivos
 automaticamente por um script ou algo do tipo?

 Obrigada,

 Cris

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




 --
 William Leite Araújo
 Analista de Banco de Dados - QualiConsult




-- 
William Leite Araújo
Analista de Banco de Dados - QualiConsult
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] comparando query

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Mr J.L. [EMAIL PROTECTED]:
 Eu testei algumas opcoes eu nao encontrei diferenca (a nao ser o custo) eu 
 gostaria de confirmar essa informacoa c/ vcs. tipo, essas duas consultas 
 fazem a mesma coisa, produzem o mesmo resultado.

Supondo que os dados estejam consistentes, sim.

Mais um exemplo de falta de normalização que confunde o usuário.


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Fwd: tabela com muitos updates

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Magno Lima [EMAIL PROTECTED]:

 Tenho um programa que fica rodando o
 vaccum todo dia a noite nesta tabela para manter a performance. A questão
 mesmo é: é possivel desabilitar este método ou usar outra tecnica para igual
 situação? O.o ... please dont blame me! :D heheheh serio, podem rir, mas há
 outra técnica ao menos?

Que tal fazer isso mais freqüentemente?


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] comparando query

2008-06-25 Por tôpico Adriano Espinoza de Oliveira
Segate, ambas dão o mesmo resultado, mas o select dentro da clausula not
in() consulta colunas diferentes o custo vai ser diferente mesmo...
Eu não utilizo count(*), sempre uso count() de uma coluna que retorna da
consulta.
Adriano


2008/6/25 Mr J.L. [EMAIL PROTECTED]:

 Pessoal
  Tenho uma query laza... em meu sistema que faz o seguinte:

 select
 count(*) as tam, max(connumero) as connumero
 from contrato
 inner join veiculo on conveioid=veioid
 inner join clientes cl on conclioid=cl.clioid
 where veichassi='9BFXCE2U98BB06345'
 and conclioid not in ( select clioid from clientes where (case when
 cl.clitipo = 'F' then clino_cpf else clino_cgc end) = '57468923' );
 --Aggregate  (cost=12362.10..12362.11 rows=1 width=4)


 select
 count(*) as tam, max(connumero) as connumero
 from contrato
 inner join veiculo on conveioid=veioid
 inner join clientes cl on conclioid=cl.clioid
 where veichassi='9BFXCE2U98BB06345'
 and conclioid not in ( select clioid from clientes where (clino_cpf =
 '57468922' or clino_cgc ='57468922') );
 Aggregate  (cost=15392.80..15392.81 rows=1 width=4)

 Eu testei algumas opcoes eu nao encontrei diferenca (a nao ser o custo) eu
 gostaria de confirmar essa informacoa c/ vcs. tipo, essas duas consultas
 fazem a mesma coisa, produzem o mesmo resultado.

 Obrigado.


  Novos endereços, o Yahoo! que você conhece. Crie um email novo com a
 sua cara @ymail.com ou @rocketmail.com.
 http://br.new.mail.yahoo.com/addresses
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [Bulk] Fwd: tabela com muitos updates

2008-06-25 Por tôpico jota . comm
Olá,

Fiquei confuso. O que não existe mais na versão do PostgreSQL? o autovacuum?

[]s

2008/6/25 Shander Lyrio [EMAIL PROTECTED]:


Acredito, pelo que li no release notes do PostgreSql 8.3, que isto
 não
 existe mais nesta versão.

Vale dar uma conferida,

 --
 Shander Lyrio


 Magno Lima escreveu:
  Ola pessoal,
 
  Tenho uma tabela com mutos updates diarios, na mesma linha e
  praticamente não ha muita inserção. Cada linha chega a ser atualizada
  mais de 1000 vezes por dia. Se eu estivesse utilizando um outro SGDB
  possivelmente isto não seria um problema chato, mas no Pg por conta de
  sua estratégia de atualizacao a tabela tende a ficar gigante, para
  termos uma ideia, a tabela qdo passo o vacuum tem cerca de 190Kb, depois
  de um dia de atualização alcança facilmente os 20Mb. Tenho um programa
  que fica rodando o vaccum todo dia a noite nesta tabela para manter a
  performance. A questão mesmo é: é possivel desabilitar este método ou
  usar outra tecnica para igual situação? O.o ... please dont blame me! :D
  heheheh serio, podem rir, mas há outra técnica ao menos?
 
  Valeu!
 
  Magno
 
 
  
 
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Como fazer esta consulta?

2008-06-25 Por tôpico Wagner Bonfiglio
Seguinte Eu estou tentando fazer uma consulta que retorna o número
de participações de um cliente no meu site...

Vou abstrair um pouco, mas é mais ou menos isso

Tenho uma tabela de clientes com as colunas ROWID e NOME...

Tenho três outras tabelas, cada uma tem ROWID, IDUSUARIO, CONTEUDO..
Sendo IDUSUARIO chave estrangeira para o ROWID da tabela de cliente...

Supondo que um cliente pode ter entradas nas três tabelas, em duas, em
apenas uma ou até em nenhuma.

Gostaria de saber quantas entradas cada usuário tem, somando as
entradas nas 3 tabelas...

Ou seja, a saída seria algo como:

NOME (ou ROWID) | COUNT(*)
-+-
  joao (ou 1) | 97
  mario (ou 5)   | 90
  wagner (ou 10)   | 38


Bom, acho que deu pra entender a idéia...

Alguém sabe como consigo fazer isso?
Já tentei usando LEFT OUTER JOIN e não consegui... A consulta que eu fiz foi:

SELECT USU.rowid, USU.nome,
( count(C1.idusuario) + count(C2.idusuario) +
count(C3.idusuario) ) AS RANK
FROM
usuarios USU LEFT OUTER JOIN conteudo1 C1 ON
(USU.rowid = C1.idusuario)
LEFT OUTER JOIN conteudo2 C2 ON ( USU.rowid = C2.idusuario )
LEFT OUTER JOIN conteudo3 C3 ON ( USU.rowid = C3.idusuario )
GROUP BY
USU.rowid, USU.nome, C1.idusuario, C2.idusuario, C2.idusuario
ORDER BY RANK DESC
LIMIT 10;


Valeu...
Wagner Mariotto Bonfiglio
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Usar 1 Join ou 2 selects para retornar 1 valor?

2008-06-25 Por tôpico Yoshio
Blz galera?

Tenho as seguintes tabela de exemplo:

T1: id, nome
T2: id, id_t1

Caso eu precise de 1 valor do campo nome da tabela T1 da relação com
T2 seria melhor utilizar 2 selects ao invés de 1 join?
Por exemplo:
SELECT nome FROM t1 WHERE id = (SELECT id_t1 FROM t2 WHERE id = 123 LIMIT 1);

Ou fazer com join:
SELECT t1.nome FROM t2 INNER JOIN t2 ON t1.id = t2.id_t1 WHERE t2.id = 123;

Qual método seria melhor já que eu preciso retornar apenas 1 valor?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [Bulk] Fwd: tabela com muitos updates

2008-06-25 Por tôpico Shander Lyrio

O problema apresentado pelo colega. Veja em [1] e pesquise FILLFACTOR.

Como não fiz testes ainda, não sei se ele vai sempre tentar gravar na 
mesma página de dados, ou se após preenchido o espaço reservado para 
atualizações ele volta a criar novas páginas.

[1] http://www.postgresql.org/docs/8.3/interactive/sql-createtable.html

Abraço,

--
Shander Lyrio


jota.comm escreveu:
 Olá,
 
 Fiquei confuso. O que não existe mais na versão do PostgreSQL? o autovacuum?
 
 []s
 
 2008/6/25 Shander Lyrio [EMAIL PROTECTED] 
 mailto:[EMAIL PROTECTED]:
 
 
Acredito, pelo que li no release notes do PostgreSql 8.3, que
 isto não
 existe mais nesta versão.
 
Vale dar uma conferida,
 
 --
 Shander Lyrio
 
 
 Magno Lima escreveu:
   Ola pessoal,
  
   Tenho uma tabela com mutos updates diarios, na mesma linha e
   praticamente não ha muita inserção. Cada linha chega a ser atualizada
   mais de 1000 vezes por dia. Se eu estivesse utilizando um outro SGDB
   possivelmente isto não seria um problema chato, mas no Pg por
 conta de
   sua estratégia de atualizacao a tabela tende a ficar gigante, para
   termos uma ideia, a tabela qdo passo o vacuum tem cerca de 190Kb,
 depois
   de um dia de atualização alcança facilmente os 20Mb. Tenho um
 programa
   que fica rodando o vaccum todo dia a noite nesta tabela para manter a
   performance. A questão mesmo é: é possivel desabilitar este método ou
   usar outra tecnica para igual situação? O.o ... please dont blame
 me! :D
   heheheh serio, podem rir, mas há outra técnica ao menos?
  
   Valeu!
  
   Magno
  
  
  
 
  
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
 mailto:pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 mailto:pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 
 
 
 -- 
 João Paulo
 www.dextra.com.br/postgres http://www.dextra.com.br/postgres
 PostgreSQL
 
 
 
 
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [Bulk] Fwd: tabela com muitos updates

2008-06-25 Por tôpico Euler Taveira de Oliveira
Shander Lyrio wrote:

   Acredito, pelo que li no release notes do PostgreSql 8.3, que isto não 
 existe mais nesta versão.
 
Acho que você está confundindo as coisas. O MVCC [1] sempre existirá no 
PostgreSQL (a não ser que boa parte do código seja reescrito -- o que eu 
acho difícil). E quanto ao HOT eu aconselho que você veja [2].

[1] http://en.wikipedia.org/wiki/Multiversion_concurrency_control
[2] 
http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-May/008976.html


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] comparando query

2008-06-25 Por tôpico Euler Taveira de Oliveira
Mr J.L. wrote:

 Eu testei algumas opcoes eu nao encontrei diferenca (a nao ser o custo) eu 
 gostaria de confirmar essa informacoa c/ vcs. tipo, essas duas consultas 
 fazem a mesma coisa, produzem o mesmo resultado.
 
EXPLAIN ANALYZE de ambas consultas? As duas subconsultas tem planos de 
execução diferentes; e a segunda consulta é a que retorna um resultado 
melhor.


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usar 1 Join ou 2 selects para retornar 1 valor?

2008-06-25 Por tôpico jota . comm
Olá,

Use um join.

[]s



2008/6/25 Yoshio [EMAIL PROTECTED]:

 Blz galera?

 Tenho as seguintes tabela de exemplo:

 T1: id, nome
 T2: id, id_t1

 Caso eu precise de 1 valor do campo nome da tabela T1 da relação com
 T2 seria melhor utilizar 2 selects ao invés de 1 join?
 Por exemplo:
 SELECT nome FROM t1 WHERE id = (SELECT id_t1 FROM t2 WHERE id = 123 LIMIT
 1);

 Ou fazer com join:
 SELECT t1.nome FROM t2 INNER JOIN t2 ON t1.id = t2.id_t1 WHERE t2.id =
 123;

 Qual método seria melhor já que eu preciso retornar apenas 1 valor?
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usar 1 Join ou 2 selects para retornar 1 valor?

2008-06-25 Por tôpico jota . comm
Olá,

Ou ainda utilize o explain para o custo das consultas.

[]s

2008/6/25 jota. comm [EMAIL PROTECTED]:

 Olá,

 Use um join.

 []s



 2008/6/25 Yoshio [EMAIL PROTECTED]:

 Blz galera?

 Tenho as seguintes tabela de exemplo:

 T1: id, nome
 T2: id, id_t1

 Caso eu precise de 1 valor do campo nome da tabela T1 da relação com
 T2 seria melhor utilizar 2 selects ao invés de 1 join?
 Por exemplo:
 SELECT nome FROM t1 WHERE id = (SELECT id_t1 FROM t2 WHERE id = 123 LIMIT
 1);

 Ou fazer com join:
 SELECT t1.nome FROM t2 INNER JOIN t2 ON t1.id = t2.id_t1 WHERE t2.id =
 123;

 Qual método seria melhor já que eu preciso retornar apenas 1 valor?
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




 --
 João Paulo
 www.dextra.com.br/postgres
 PostgreSQL




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como fazer esta consulta?

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Wagner Bonfiglio [EMAIL PROTECTED]:
 Tenho uma tabela de clientes com as colunas ROWID e NOME...

Primeira coisa: tenha chaves de verdade.  Se nome não pode ser chave,
ao menos transforme rowid num CREATE DOMAIN com um nome mais
significativo.

Depois:

 SELECT COUNT (*)
 FROM (SELECT ... UNION SELECT ... UNION ...)

-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usar 1 Join ou 2 selects para retornar 1 valor?

2008-06-25 Por tôpico Leandro DUTRA
2008/6/25 Yoshio [EMAIL PROTECTED]:
 T1: id, nome
 T2: id, id_t1

Nossa, todo mundo com exemplos parecidos.

Então é a terceira vez que escrevo hoje.

Você precisa duma chave natural.  Se nome (por exemplo) não pode ser,
pelo menos dê um CREATE DOMAIN id_t1 e use isso, em vez de
simplesmente id.


 Por exemplo:
 SELECT nome FROM t1 WHERE id = (SELECT id_t1 FROM t2 WHERE id = 123 LIMIT 1);

 Ou fazer com join:
 SELECT t1.nome FROM t2 INNER JOIN t2 ON t1.id = t2.id_t1 WHERE t2.id = 123;

A junção é mais fácil de entender, mas confira o plano de execução se
tua questão for desempenho.


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral