[pgbr-geral] Problema cursor

2010-03-04 Por tôpico Amilton Junior
Pessoal,
Comecei agora a mexer com o PostgreSQL e estou convertendo uma proc do
sql,para funcionar como uma function no postgres.

E gostaria de ajuda pois estou com bastante dificuldades.

gostaria de saber se existe algum erro nessa linha.

 open myCursor
fetch next from myCursor into
var_cod_ban_apr,var_cod_chq_img,var_nom_ban,var_nom_age,var_cod_age_capt,var_cod_ban_capt,var_op_conta_dv,var_num_chq,var_val_prc
while @@FETCH_STATUS = 0 



pois exibe a seguinte mensagem de erro.

 ERRO: syntax error at var_cod_ban_apr
DETAIL: Expected record variable, row variable, or list of scalar variables
following INTO.
CONTEXT: compile of PL/pgSQL function sprel_relatorioanaliticobanco near
line 118
(0,406 sec)

Se puderem ajudar agradeço mto.

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


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico Marcone
Dá um olhada na sintaxe do comando For record in query loop.


Em 4 de março de 2010 09:56, Amilton Junior aagr...@gmail.com escreveu:
 Pessoal,
 Comecei agora a mexer com o PostgreSQL e estou convertendo uma proc do
 sql,para funcionar como uma function no postgres.

 E gostaria de ajuda pois estou com bastante dificuldades.

 gostaria de saber se existe algum erro nessa linha.

  open myCursor
 fetch next from myCursor into
 var_cod_ban_apr,var_cod_chq_img,var_nom_ban,var_nom_age,var_cod_age_capt,var_cod_ban_capt,var_op_conta_dv,var_num_chq,var_val_prc
 while @@FETCH_STATUS = 0 



 pois exibe a seguinte mensagem de erro.

  ERRO: syntax error at var_cod_ban_apr
 DETAIL: Expected record variable, row variable, or list of scalar variables
 following INTO.
 CONTEXT: compile of PL/pgSQL function sprel_relatorioanaliticobanco near
 line 118
 (0,406 sec)

 Se puderem ajudar agradeço mto.

 Obrigado desde ja!
 ___
 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] Problema cursor

2010-03-04 Por tôpico aagrjr

Eu dei uma olhada, mas nao consegui entender como utilizaria.

Marcone-2 wrote:
 
 Dá um olhada na sintaxe do comando For record in query loop.
 

-- 
View this message in context: 
http://old.nabble.com/Problema-cursor-tp27780382p27781039.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

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


[pgbr-geral] Invitation to connect on LinkedIn

2010-03-04 Por tôpico Fabricio Veiga
LinkedIn
Fabricio Veiga requested to add you as a connection on LinkedIn:
--

Mateus,

I'd like to add you to my professional network on LinkedIn.

- Fabricio

Accept invitation from Fabricio Veiga
http://www.linkedin.com/e/hJyn_mKDb3AYKem6pM_q9mB_905WKe_qzCqrQvDjbGRKE3zlm8R7/blk/I1860732008_2/1BpC5vrmRLoRZcjkkZt5YCpnlOt3RApnhMpmdzgmhxrSNBszYOnPwMc38PdP0Se359bPxOe7FvekQMbPoOdz0Od30Ocj4LrCBxbOYWrSlI/EML_comm_afe/

View invitation from Fabricio Veiga
http://www.linkedin.com/e/hJyn_mKDb3AYKem6pM_q9mB_905WKe_qzCqrQvDjbGRKE3zlm8R7/blk/I1860732008_2/39ve30MczcTc3oUckALqnpPbOYWrSlI/svi/
 

--
DID YOU KNOW you can use your LinkedIn profile as your website? Select a vanity 
URL and then promote this address on your business cards, email signatures, 
website, etc
http://www.linkedin.com/e/ewp/inv-21/


 
--
(c) 2010, LinkedIn Corporation___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico Marcone
Vou te dar um exemplo:


CREATE FUNCTION sua_funcao() RETURNS seu_retorno AS $$
DECLARE
 myRec RECORD;-- Aqui declaramos a variavel que vai receber o
resultado do select que desejamos percorrer
BEGIN

FOR myRec IN SELECT * FROM minha_tabela  LOOP-- Aqui ele vai
percorrer todos os registros retornados no select
-- Aqui vc coloca as suas ações usando o myRec declarado acima:
   if( MyRec.nome da coluna  = 10)
  faz alguma coisa

END LOOP;

RETURN x::seu_retorno;
END;
$$ LANGUAGE plpgsql;

Mais detalhes aqui:
http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html


2010/3/4 aagrjr aagr...@gmail.com:

 Eu dei uma olhada, mas nao consegui entender como utilizaria.

 Marcone-2 wrote:

 Dá um olhada na sintaxe do comando For record in query loop.


 --
 View this message in context: 
 http://old.nabble.com/Problema-cursor-tp27780382p27781039.html
 Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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


[pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Alexsander Rosa
Estou prestes a fazer uma reforma no meu ERP e uma das coisas que está me
incomodando é o cadastro de pessoas. Não pude usar CPF/CNPJ como chave
primária natural porque, conforme já foi dito aqui várias vezes, muitos
clientes diferentes usam o mesmo CNPJ, especialmente órgãos públicos. Para
dar um exemplo: temos um cliente que tem várias CENTENAS de clientes -- a
imensa maioria, escolas da rede estadual -- com o mesmo CNPJ
(92.941.681/0001-00), que segundo a Receita Federal está registrado em nome
da Secretaria da Educação do RS.

Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra onde
esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma PJ
pertencer a mais de um cliente (órgãos públicos, universidades, etc), esta
chave extra conterá um código (numérico? texto?) que identificará cada
unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
universidades poderia ser algum código que identifique o setor.

Alguém tem alguma sugestão para isto?

-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Joares Luis Dalorsoleta
Sugiro que se necessario adicione as primeiras posições antes do CNPJ
o codigo do estado (De acordo com o IBGE) e o codigo do municipio (de
acordo com o IBGE) talvez consiga algo mesclando essas informações com
o CNPJ.

at

Em 4 de março de 2010 13:28, Alexsander Rosa
alexsander.r...@gmail.com escreveu:
 Estou prestes a fazer uma reforma no meu ERP e uma das coisas que está me
 incomodando é o cadastro de pessoas. Não pude usar CPF/CNPJ como chave
 primária natural porque, conforme já foi dito aqui várias vezes, muitos
 clientes diferentes usam o mesmo CNPJ, especialmente órgãos públicos. Para
 dar um exemplo: temos um cliente que tem várias CENTENAS de clientes -- a
 imensa maioria, escolas da rede estadual -- com o mesmo CNPJ
 (92.941.681/0001-00), que segundo a Receita Federal está registrado em nome
 da Secretaria da Educação do RS.

 Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra onde
 esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma PJ
 pertencer a mais de um cliente (órgãos públicos, universidades, etc), esta
 chave extra conterá um código (numérico? texto?) que identificará cada
 unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
 universidades poderia ser algum código que identifique o setor.

 Alguém tem alguma sugestão para isto?

 --
 Atenciosamente,
 Alexsander da Rosa
 Linux User #113925

 Extremismo na defesa da liberdade não é defeito.
 Moderação na busca por justiça não é virtude.
 -- Barry Goldwater

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





-- 
Atenciosamente
Joares Luís Dalorsoleta

Esta mensagem (incluíndo qualquer anexo) é dirigida apenas para o uso
do indivíduo ou da entidade a qual está endereçada e pode conter
informações privadas, proprietárias, privilegiadas, confidenciais que
podem servir como evidências sob as leis aplicáveis ou em processos
judiciais.
Caso você não seja o destinatário pretendido, você está aqui
notificado que qualquer uso, disseminação, distribuição, ou cópia
dessa comunicação é estritamente proibida. Se você recebeu essa
comunicação por engano, notifique-nos imediatamente por telefone, e
(i) destrua essa mensagem se for um facsimile ou (ii) exclua
imediatamente essa mensagem se esta for uma comunicação eletrônica.
Obrigado.

This message (including any attachments) is intended only for the use
of the individual or entity to which it is addressed and may contain
information that is non-public, proprietary, privileged, confidential,
and exempt from disclosure under applicable law or may constitute as
attorney work product.
If you are not the intended recipient, you are hereby notified that
any use, dissemination, distribution, or copying of this communication
is strictly prohibited. If you have received this communication in
error, notify us immediately by telephone and (i) destroy this message
if a facsimile or (ii) delete this message immediately if this is an
electronic communication.
Thank you.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Wolak Sistemas - Fabiano Machado Dias
Use uma pk artificial e seja feliz. Fuja de pks compostas, elas ainda vao te 
dar uma bela dor de cabeca.
Abraco

Joares Luis Dalorsoleta joa...@speedlinux.com.br escreveu:

Sugiro que se necessario adicione as primeiras posições antes do CNPJ
o codigo do estado (De acordo com o IBGE) e o codigo do municipio (de
acordo com o IBGE) talvez consiga algo mesclando essas informações com
o CNPJ.

at

Em 4 de março de 2010 13:28, Alexsander Rosa
alexsander.r...@gmail.com escreveu:
 Estou prestes a fazer uma reforma no meu ERP e uma das coisas que está me
 incomodando é o cadastro de pessoas. Não pude usar CPF/CNPJ como chave
 primária natural porque, conforme já foi dito aqui várias vezes, muitos
 clientes diferentes usam o mesmo CNPJ, especialmente órgãos públicos. Para
 dar um exemplo: temos um cliente que tem várias CENTENAS de clientes -- a
 imensa maioria, escolas da rede estadual -- com o mesmo CNPJ
 (92.941.681/0001-00), que segundo a Receita Federal está registrado em nome
 da Secretaria da Educação do RS.

 Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra onde
 esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma PJ
 pertencer a mais de um cliente (órgãos públicos, universidades, etc), esta
 chave extra conterá um código (numérico? texto?) que identificará cada
 unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
 universidades poderia ser algum código que identifique o setor.

 Alguém tem alguma sugestão para isto?

 --
 Atenciosamente,
 Alexsander da Rosa
 Linux User #113925

 Extremismo na defesa da liberdade não é defeito.
 Moderação na busca por justiça não é virtude.
 -- Barry Goldwater

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





-- 
Atenciosamente
Joares Luís Dalorsoleta

Esta mensagem (incluíndo qualquer anexo) é dirigida apenas para o uso
do indivíduo ou da entidade a qual está endereçada e pode conter
informações privadas, proprietárias, privilegiadas, confidenciais que
podem servir como evidências sob as leis aplicáveis ou em processos
judiciais.
Caso você não seja o destinatário pretendido, você está aqui
notificado que qualquer uso, disseminação, distribuição, ou cópia
dessa comunicação é estritamente proibida. Se você recebeu essa
comunicação por engano, notifique-nos imediatamente por telefone, e
(i) destrua essa mensagem se for um facsimile ou (ii) exclua
imediatamente essa mensagem se esta for uma comunicação eletrônica.
Obrigado.

This message (including any attachments) is intended only for the use
of the individual or entity to which it is addressed and may contain
information that is non-public, proprietary, privileged, confidential,
and exempt from disclosure under applicable law or may constitute as
attorney work product.
If you are not the intended recipient, you are hereby notified that
any use, dissemination, distribution, or copying of this communication
is strictly prohibited. If you have received this communication in
error, notify us immediately by telephone and (i) destroy this message
if a facsimile or (ii) delete this message immediately if this is an
electronic communication.
Thank you.
___
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] Problema cursor

2010-03-04 Por tôpico aagrjr

Eu tentei utilizar desse modo,espero q corretamente...
Mas não deu certo, agora está aparecendo um erro q parece ser o codigo todo:

ERRO:  erro de sintaxe em ou próximo a INSERT
LINE 1: ...ocumento CHAR(10) ,co_ocorrencia_cheque integer ) INSERT INT...


CONTEXT:  SQL statement in PL/PgSQL function sprel_relatorioanaliticobanco
near line 170


Talvez esteja fazendo alguma coisa muito errada,mas nao estou conseguindo
entender direito o motivo dos erros.

Obrigado pela ajuda

Marcone-2 wrote:
 
 Vou te dar um exemplo:
 
 
 CREATE FUNCTION sua_funcao() RETURNS seu_retorno AS $$
 DECLARE
  myRec RECORD;-- Aqui declaramos a variavel que vai receber o
 resultado do select que desejamos percorrer
 BEGIN
 
 FOR myRec IN SELECT * FROM minha_tabela  LOOP-- Aqui ele vai
 percorrer todos os registros retornados no select
 -- Aqui vc coloca as suas ações usando o myRec declarado acima:
if( MyRec.nome da coluna  = 10)
   faz alguma coisa
 
 END LOOP;
 
 RETURN x::seu_retorno;
 END;
 $$ LANGUAGE plpgsql;
 
 Mais detalhes aqui:
 http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html
 
 
 2010/3/4 aagrjr aagr...@gmail.com:

 Eu dei uma olhada, mas nao consegui entender como utilizaria.

 Marcone-2 wrote:

 Dá um olhada na sintaxe do comando For record in query loop.


 --
 View this message in context:
 http://old.nabble.com/Problema-cursor-tp27780382p27781039.html
 Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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
 
 

-- 
View this message in context: 
http://old.nabble.com/Problema-cursor-tp27780382p27783560.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico HERALDO BORGES
Concordo com o Fabiano.


2010/3/4 Wolak Sistemas - Fabiano Machado Dias fabi...@wolaksistemas.com.br


 Use uma pk artificial e seja feliz. Fuja de pks compostas, elas ainda vao
 te dar uma bela dor de cabeca.
 Abraco

 Joares Luis Dalorsoleta joa...@speedlinux.com.br escreveu:

 Sugiro que se necessario adicione as primeiras posições antes do CNPJ
 o codigo do estado (De acordo com o IBGE) e o codigo do municipio (de
 acordo com o IBGE) talvez consiga algo mesclando essas informações com
 o CNPJ.
 
 at
 
 Em 4 de março de 2010 13:28, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
  Estou prestes a fazer uma reforma no meu ERP e uma das coisas que está
 me
  incomodando é o cadastro de pessoas. Não pude usar CPF/CNPJ como chave
  primária natural porque, conforme já foi dito aqui várias vezes, muitos
  clientes diferentes usam o mesmo CNPJ, especialmente órgãos públicos.
 Para
  dar um exemplo: temos um cliente que tem várias CENTENAS de clientes --
 a
  imensa maioria, escolas da rede estadual -- com o mesmo CNPJ
  (92.941.681/0001-00), que segundo a Receita Federal está registrado em
 nome
  da Secretaria da Educação do RS.
 
  Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra
 onde
  esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma
 PJ
  pertencer a mais de um cliente (órgãos públicos, universidades, etc),
 esta
  chave extra conterá um código (numérico? texto?) que identificará cada
  unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
  universidades poderia ser algum código que identifique o setor.
 
  Alguém tem alguma sugestão para isto?
 
  --
  Atenciosamente,
  Alexsander da Rosa
  Linux User #113925
 
  Extremismo na defesa da liberdade não é defeito.
  Moderação na busca por justiça não é virtude.
  -- Barry Goldwater
 
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 
 
 
 
 --
 Atenciosamente
 Joares Luís Dalorsoleta
 
 Esta mensagem (incluíndo qualquer anexo) é dirigida apenas para o uso
 do indivíduo ou da entidade a qual está endereçada e pode conter
 informações privadas, proprietárias, privilegiadas, confidenciais que
 podem servir como evidências sob as leis aplicáveis ou em processos
 judiciais.
 Caso você não seja o destinatário pretendido, você está aqui
 notificado que qualquer uso, disseminação, distribuição, ou cópia
 dessa comunicação é estritamente proibida. Se você recebeu essa
 comunicação por engano, notifique-nos imediatamente por telefone, e
 (i) destrua essa mensagem se for um facsimile ou (ii) exclua
 imediatamente essa mensagem se esta for uma comunicação eletrônica.
 Obrigado.
 
 This message (including any attachments) is intended only for the use
 of the individual or entity to which it is addressed and may contain
 information that is non-public, proprietary, privileged, confidential,
 and exempt from disclosure under applicable law or may constitute as
 attorney work product.
 If you are not the intended recipient, you are hereby notified that
 any use, dissemination, distribution, or copying of this communication
 is strictly prohibited. If you have received this communication in
 error, notify us immediately by telephone and (i) destroy this message
 if a facsimile or (ii) delete this message immediately if this is an
 electronic communication.
 Thank you.
 ___
 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




-- 
Heraldo Borges
https://sites.google.com/site/heraldoborges
Delegado Estudantil - Sociedade Brasileira de Computação
Linux User #504158 (http://counter.li.org)
Celular : +55 21 84595844
Skype  : heraldoborges
E-mail  : heraldobor...@gmail.com
MSN: heraldobor...@hotmail.com

Deus é o grande geômetra. Deus geometriza sem cessar.  (Platã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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Fabrízio de Royes Mello
Em 4 de março de 2010 14:04, HERALDO BORGES heraldobor...@gmail.comescreveu:

 Concordo com o Fabiano.


+1 por chave artificial...

-- 
Fabrízio de Royes Mello
 Blog sobre TI: http://fabriziomello.blogspot.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] Ferramenta Comparação Dados Tabel as

2010-03-04 Por tôpico Alexsander Rosa
Sei de algumas que geral instruções DDL para sincronizar esquemas, seria
interessante usar para DML para sincronizar os dados -- se bem que na
maioria das vezes um DUMP/RESTORE resolve o problema. :-) Imagino que seja
algo que precise ser rodado de tempos em tempos, em produção, sem a
possibilidade de um downtime para esta atualização.

Em 3 de março de 2010 10:28, Fabrízio de Royes Mello 
fabriziome...@gmail.com escreveu:

 Pessoal,

 Alguém conhece alguma ferramenta *free* ou *gpl* para comparar os dados de
 tabelas de 2 bases de dados distintas... preciso fazer um diff dos dados
 entre tabelas que o resultado fosse instruções DML para atualização dos
 registros.

 Conheço algumas soluções proprietárias, mas antes de decidir por alguma
 aquisição gostaria de avaliar alguma alternativa gratuita e, se possível,
 open-source.

 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.blogspot.com

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




-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico Marcone
Agora o erro já é de sintaxe mesmo...
Aí só com o código para tentar dar alguma dica.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico aagrjr

O codigo agora esta assim:

CREATE FUNCTION public.spRel_RelatorioAnaliticoBanco(var_cod_ctr_prc 
integer) RETURNS SETOF ty_bancoRemetente AS $$ 
DECLARE
   --Declaracao das variaveis com os valores que sera utilizados 
myRec   record;
myRec2  record;
var_cod_chq_img char(10);-- codigo
da imagem do cheque 
var_cod_ban_apr integer; -- codigo
do banco apresentante, o filtro é feito em cima dele 
var_cod_ban_captinteger; -- codigo
do banco de captura 
var_cod_age_captchar(4); -- codigo
da agencia de captura 
var_nom_ban varchar(80); -- nome do
banco apresentante 
var_nom_age varchar(80); -- nome da
agencia de captura 
var_num_chq char(7);-- numero do
cheque 
var_val_prc money;  -- 
valor do cheque 
var_op_conta_dv varchar(400);-- conta do
cheque 
var_cod_ocor_chqsmallint;--
ocorrencia do cheque 
var_linha_cod_ocor_chq  varchar(400);-- linha
com todas as ocorrencias de cada cheque 
BEGIN 

--CRIA TABELA COM AS OCORRENCIAS DE CADA CHEQUE 
CREATE temporary TABLE temp_CHQOCOR
( 
nu_cheque  CHAR(7)  
  
,co_cheque_imagem_documentoCHAR(10)
,co_ocorrencia_cheque  integer
);
INSERT INTO temp_CHQOCOR 
( 
nu_cheque 
,co_cheque_imagem_documento 
,co_ocorrencia_cheque 
)
SELECT
CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque FROM 
ceatb029_chqe_ocrnca_sr CHOS 
JOIN ceatb057_imagem_chqe_formal_sr ICF 
ON CHOS.co_controle_processamento =   
ICF.co_controle_processamento 
AND CHOS.nu_remessa_imagem=   
ICF.nu_remessa_imagem 
AND CHOS.co_agrupamento_imagem=   
ICF.co_agrupamento_imagem 
AND CHOS.co_cheque_imagem_documento   =   
ICF.co_cheque_imagem_documento 
JOIN ceatb056_imagem_chqe_cptra_sr ICCS 
ON ICF.co_controle_processamento  =   
ICCS.co_controle_processamento 
AND ICF.nu_remessa_imagem =   
ICCS.nu_remessa_imagem 
AND ICF.co_agrupamento_imagem =   
ICCS.co_agrupamento_imagem 
AND ICF.co_cheque_imagem_documento=   
ICCS.co_cheque_imagem_documento 
JOIN ceatb028_chqe_captura_sr CCS 
ON ICCS.co_controle_processamento =   
CCS.co_controle_processamento 
AND ICCS.nu_remessa   =   
CCS.nu_remessa 
AND ICCS.co_cheque_captura=   
CCS.co_cheque_captura 
ORDER BY
CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque

--TABELA COM DETALHES DE CADA CHEQUE, CADA OCORRENCIA OCUPA UMA
LINHA 
create temporary table temp_DETALHESCHQ 
( 
cod_ban_apr  integer 
,cod_chq_img char(10) 
,nom_abvd_banvarchar(60) 
,nom_age varchar(60) 
,cod_age_captchar(4) 
,cod_ban_captchar(4) 
,op_conta_dv  varchar(40) 
,num_chq char(7) 
,val_prc numeric(18,2) 
) 
insert into temp_DETALHESCHQ( 
cod_ban_apr 
,cod_chq_img 
,nom_abvd_ban 
,nom_age 
,cod_age_capt 
,cod_ban_capt 
,op_conta_dv 
,num_chq 
,val_prc 
) 
select
AIS.co_banco_apresentante,ICCS.co_cheque_imagem_documento,BAN.no_abreviado_banco,
 
   
AGE.no_agencia,CCS.co_agencia_capturado,CCS.co_banco_capturado, 
(SUBSTRING(CCS.nu_conta_corrente from 1 for 3) + . +
SUBSTRING(CCS.nu_conta_corrente from 1 for 9) + - +
SUBSTRING(CCS.nu_conta_corrente from 10 for 1)) OP_CONTA_DV, 
CCS.nu_cheque,CCS.vr_processado  from   
ceatb028_chqe_captura_sr CCS 
JOIN ceatb056_imagem_chqe_cptra_sr ICCS 
ON CCS.co_controle_processamento=   
ICCS.co_controle_processamento 
AND CCS.co_cheque_captura   =   
ICCS.co_cheque_captura 
   

[pgbr-geral] Linguagens suportadas pelo post!

2010-03-04 Por tôpico paulo matadr
Pessoal,
Venho com algo simples,vcs saberiam me dizer quais as linguagem suportadas pelo 
postgres 8.3?


Ats



Paulo



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Dickson S. Guedes
2010/3/4 Wolak Sistemas - Fabiano Machado Dias
 Use uma pk artificial e seja feliz. Fuja de pks compostas, elas ainda vao
 te dar uma bela dor de cabeca.

Em 4 de março de 2010 14:04, HERALDO BORGES heraldobor...@gmail.com escreveu:
 Concordo com o Fabiano.

Vocês já precisaram mesclar umas 5 bases, cada uma com uns 150 GB de
dados, aproximadamente 800 tabelas, com 90% delas contendo chaves
artificiais? Isso sim que é dor de cabeça.

Procurem evitar chaves artificiais, mas se não tiver jeito usem-nas.
Mas evite-as.

[]s
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Linguagens suportadas pelo post!

2010-03-04 Por tôpico Fabrízio de Royes Mello
Em 4 de março de 2010 14:52, paulo matadr saddon...@yahoo.com.br escreveu:

 Pessoal,
 Venho com algo simples,vcs saberiam me dizer quais as linguagem suportadas
 pelo postgres 8.3?



Caro Paulo,

Na documentação [1] constam algumas das possibilidades de linguagens... além
destas posso destacar: pl/php, pl/java, pl/sh, pl/lua, dentre outras (mais
alguém para colaborar)

[1] http://www.postgresql.org/docs/8.3/interactive/server-programming.html

-- 
Fabrízio de Royes Mello
 Blog sobre TI: http://fabriziomello.blogspot.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Erro ao instalar PostreSQL 8.4.2-1 no Windows Vista

2010-03-04 Por tôpico Willian Jhonnes L. dos Santos

Olá a todos.

Estou enfrentando um pequeno problema para implementar um servidor de 
desenvolvimento com Windows Vista Business Service Pack 2 e PostgreSQL 
8.4.2-1. Baixei o EnterpriseDB one click installer para fazer a 
instalação do PG na estação de desenvolvimento, executo o processo com 
privilégios de administrador, mas o instalador não consegue concluir a 
instalação pois o serviço do banco de dados não é instalado, acusando um 
erro de post install (cluster initialization failure).


Segui todas as recomendações desta thread [1], inclusive logando na 
estação sem usar o domínio, mas sem sucesso. Alguém tem alguma dica além 
da citada na thread?


[]'s

[1] - 
http://listas.postgresql.org.br/pipermail/pgbr-geral/2009-December/018692.html


--

---
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
willianjhon...@yahoo.com.br
---
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---
Powered by Slackware Linux 13.0
Kernel 2.6.32.6-i686-core2quad
---

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


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico Osvaldo Kussama
2010/3/4 aagrjr aagr...@gmail.com:

 O codigo agora esta assim:

 CREATE FUNCTION public.spRel_RelatorioAnaliticoBanco(var_cod_ctr_prc
 integer) RETURNS SETOF ty_bancoRemetente AS $$
 DECLARE
   --Declaracao das variaveis com os valores que sera utilizados
        myRec                                                   record;
        myRec2                                                  record;
        var_cod_chq_img                 char(10);                -- codigo
 da imagem do cheque
        var_cod_ban_apr                 integer;                 -- codigo
 do banco apresentante, o filtro é feito em cima dele
        var_cod_ban_capt                integer;                 -- codigo
 do banco de captura
        var_cod_age_capt                char(4);                 -- codigo
 da agencia de captura
        var_nom_ban                     varchar(80);             -- nome do
 banco apresentante
        var_nom_age                     varchar(80);             -- nome da
 agencia de captura
        var_num_chq                     char(7);                -- numero do
 cheque
        var_val_prc                     money;                          -- 
 valor do cheque
        var_op_conta_dv                 varchar(400);            -- conta do
 cheque
        var_cod_ocor_chq                smallint;                --
 ocorrencia do cheque
        var_linha_cod_ocor_chq          varchar(400);            -- linha
 com todas as ocorrencias de cada cheque
 BEGIN

        --CRIA TABELA COM AS OCORRENCIAS DE CADA CHEQUE
        CREATE temporary TABLE temp_CHQOCOR
        (
                nu_cheque                          CHAR(7)
                ,co_cheque_imagem_documento        CHAR(10)
                ,co_ocorrencia_cheque              integer
        );
        INSERT INTO temp_CHQOCOR
        (
                nu_cheque
                ,co_cheque_imagem_documento
                ,co_ocorrencia_cheque
        )
        SELECT
 CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque FROM
        ceatb029_chqe_ocrnca_sr CHOS
        JOIN ceatb057_imagem_chqe_formal_sr ICF
                ON CHOS.co_controle_processamento     =
 ICF.co_controle_processamento
                AND CHOS.nu_remessa_imagem            =
 ICF.nu_remessa_imagem
                AND CHOS.co_agrupamento_imagem        =
 ICF.co_agrupamento_imagem
                AND CHOS.co_cheque_imagem_documento   =
 ICF.co_cheque_imagem_documento
        JOIN ceatb056_imagem_chqe_cptra_sr ICCS
                ON ICF.co_controle_processamento      =
 ICCS.co_controle_processamento
                AND ICF.nu_remessa_imagem             =
 ICCS.nu_remessa_imagem
                AND ICF.co_agrupamento_imagem         =
 ICCS.co_agrupamento_imagem
                AND ICF.co_cheque_imagem_documento    =
 ICCS.co_cheque_imagem_documento
        JOIN ceatb028_chqe_captura_sr CCS
                ON ICCS.co_controle_processamento     =
 CCS.co_controle_processamento
                AND ICCS.nu_remessa                   =
 CCS.nu_remessa
                AND ICCS.co_cheque_captura            =
 CCS.co_cheque_captura
        ORDER BY
 CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque

        --TABELA COM DETALHES DE CADA CHEQUE, CADA OCORRENCIA OCUPA UMA
 LINHA
        create temporary table temp_DETALHESCHQ
        (
                cod_ban_apr      integer
                ,cod_chq_img     char(10)
                ,nom_abvd_ban    varchar(60)
                ,nom_age         varchar(60)
                ,cod_age_capt    char(4)
                ,cod_ban_capt    char(4)
                ,op_conta_dv      varchar(40)
                ,num_chq         char(7)
                ,val_prc         numeric(18,2)
        )
        insert into temp_DETALHESCHQ(
                cod_ban_apr
                ,cod_chq_img
                ,nom_abvd_ban
                ,nom_age
                ,cod_age_capt
                ,cod_ban_capt
                ,op_conta_dv
                ,num_chq
                ,val_prc
        )
        select
 AIS.co_banco_apresentante,ICCS.co_cheque_imagem_documento,BAN.no_abreviado_banco,

 AGE.no_agencia,CCS.co_agencia_capturado,CCS.co_banco_capturado,
                (SUBSTRING(CCS.nu_conta_corrente from 1 for 3) + . +
 SUBSTRING(CCS.nu_conta_corrente from 1 for 9) + - +
 SUBSTRING(CCS.nu_conta_corrente from 10 for 1)) OP_CONTA_DV,
                CCS.nu_cheque,CCS.vr_processado  from
 ceatb028_chqe_captura_sr CCS
                JOIN ceatb056_imagem_chqe_cptra_sr ICCS
                        ON CCS.co_controle_processamento        =
 ICCS.co_controle_processamento
                        AND CCS.co_cheque_captura               =
 ICCS.co_cheque_captura
                JOIN ceatb005_almno_imagem_sr AIS
                        ON        AIS.co_controle_processamento =
 ICCS.co_controle_processamento
                        AND AIS.co_agrupamento_imagem           =
 ICCS.co_agrupamento_imagem
                        

Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Andre Fernandes
Vocês já precisaram mesclar umas 5 bases, cada uma com uns 150 GB de

 dados, aproximadamente 800 tabelas, com 90% delas contendo chaves
 artificiais? Isso sim que é dor de cabeça.

 Procurem evitar chaves artificiais, mas se não tiver jeito usem-nas.
 Mas evite-as.

 Sim, chaves artificiais podem ser um problema se forem abusadas. Há casos
não muito comuns nos quais são úteis ou mesmo necessárias, mas evite usar
excessivamente, conforme disse sr. Dickson.
Complementando, chaves compostas não são necessariamente problemas, desde
que sejam naturais e obedeçam as exigências para serem chaves primárias.
Tomem cuidado com o medo excessivo de de chaves compostas, tenham medo mesmo
de muitas chaves artificiais.

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Osvaldo Kussama
Em 4 de março de 2010 13:28, Alexsander Rosa
alexsander.r...@gmail.com escreveu:

 Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra onde
 esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma PJ
 pertencer a mais de um cliente (órgãos públicos, universidades, etc), esta
 chave extra conterá um código (numérico? texto?) que identificará cada
 unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
 universidades poderia ser algum código que identifique o setor.

 Alguém tem alguma sugestão para isto?


Apenas uma observação: uma chave primária não pode conter NULL em
nenhum dos campos que a compõe.
Não ficou claro se quando você diz chave composta está ou não se
referindo a chave primária.

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


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico aagrjr

Bom,realmente estava bem estranho esse create type la dentro da funçao, antes
eu imaginava que ele teria q criar o tipo toda vez q executasse,mas agora
entendi q nao é assim,entao ja removi..

Agora,usando o create table as, eu eliminaria o comando insert,e ja criaria
a tabela inserindo direto o retorno da consulta?Dessa forma??

 CREATE temporary TABLE temp_CHQOCOR
( 
nu_cheque  CHAR(7)  
  
,co_cheque_imagem_documentoCHAR(10)
,co_ocorrencia_cheque  integer
) AS
SELECT
CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque
FROM...


Obrigado pela ajuda de todos!
-- 
View this message in context: 
http://old.nabble.com/Problema-cursor-tp27780382p27784801.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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] Problema cursor

2010-03-04 Por tôpico Dickson S. Guedes
Em 4 de março de 2010 15:34, aagrjr aagr...@gmail.com escreveu:
(...)
 Agora,usando o create table as, eu eliminaria o comando insert,e ja criaria
 a tabela inserindo direto o retorno da consulta?Dessa forma??

Por exemplo:

CREATE TABLE tb_pessoa_fisica AS SELECT nome::varchar(50),
data_nascimento::date, cpf::numeric(14), 'ATIVO'::varchar(15) as
situacao  FROM tb_pessoa WHERE tipo = 'PF';


[]s--
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Leandro DUTRA
2010/3/4 Joares Luis Dalorsoleta joa...@speedlinux.com.br:
 Sugiro que se necessario adicione as primeiras posições antes do CNPJ
 o codigo do estado (De acordo com o IBGE) e o codigo do municipio (de
 acordo com o IBGE) talvez consiga algo mesclando essas informações com
 o CNPJ.

Não, isso seria confuso e furado.

Informações diferentes têm de ficar em atributos diferentes, sob pena
de tornar a aplicação mais complexa e a base, mais difícil de
entender.

Além disso, as adições sugeridas não garantiriam unicidade.

Uma solução seria uma entidade filha da pessoa jurídica, e essa teria
uma chave composta do CNPJ com algum outro identificador natural, como
nome da escola, ou endereço.  Assim as consultas na tabela principal
não seriam prejudicadas.

Para evitar causar problemas, apenas os tipos de cliente relevantes
poderiam entrar nessa tabela filha.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3854 7191  gTalk: xmpp:leand...@jabber.org
+55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema cursor

2010-03-04 Por tôpico aagrjr

Pelo q entendi da ultima resposta eu fiz assim...

CREATE temporary TABLE temp_CHQOCOR AS
SELECT
CCS.nu_cheque::CHAR(7),ICF.co_cheque_imagem_documento::CHAR(10),CHOS.co_ocorrencia_cheque::integer
FROM 
ceatb029_chqe_ocrnca_sr CHOS 
JOIN ceatb057_imagem_chqe_formal_sr ICF 
ON CHOS.co_controle_processamento =   
ICF.co_controle_processamento 
AND CHOS.nu_remessa_imagem=   
ICF.nu_remessa_imagem 
AND CHOS.co_agrupamento_imagem=   
ICF.co_agrupamento_imagem 
AND CHOS.co_cheque_imagem_documento   =   
ICF.co_cheque_imagem_documento 
JOIN ceatb056_imagem_chqe_cptra_sr ICCS 
ON ICF.co_controle_processamento  =   
ICCS.co_controle_processamento 
AND ICF.nu_remessa_imagem =   
ICCS.nu_remessa_imagem 
AND ICF.co_agrupamento_imagem =   
ICCS.co_agrupamento_imagem 
AND ICF.co_cheque_imagem_documento=   
ICCS.co_cheque_imagem_documento 
JOIN ceatb028_chqe_captura_sr CCS 
ON ICCS.co_controle_processamento =   
CCS.co_controle_processamento 
AND ICCS.nu_remessa   =   
CCS.nu_remessa 
AND ICCS.co_cheque_captura=   
CCS.co_cheque_captura 
ORDER BY
CCS.nu_cheque,ICF.co_cheque_imagem_documento,CHOS.co_ocorrencia_cheque;

Mas acho q esta alguma coisa errada,pois nao esta funcionando.
Desculpem estar enchendo tanto assim,mas estou completamente perdido, nunca
tinha mexido com isso...

E obrigado desde ja pela ajuda.
-- 
View this message in context: 
http://old.nabble.com/Problema-cursor-tp27780382p27784994.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Alexsander Rosa
Sim, na verdade eu editei o texto várias vezes e este detalhe passou
despercebido. Este campo, chave_extra, ficaria com um valor tipo 0 (se for
inteiro) ou brancos (se for texto) na maioria dos casos. Mas tenho minhas
dúvidas se esta é mesmo a melhor solução, acho que no fim vai ser melhor
usar uma chave artificial, a famosa código do cliente.

Existe também o problema da replicação. Cada filial tem um servidor
(replicado) e nenhuma loja pode parar por falta de Internet ou falta de
comunicação com a Matriz. Sei que muitas empresas simplesmente param quando
isso acontece, com a tradicional explicação de que estamos sem sistema,
mas nós nunca achamos isto aceitável -- especialmente no caso das redes de
varejo. Além disso, a legislação praticamente exige que o software de PDV
emita cupons mesmo com o cabo de rede cortado.

Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
(estão fora da replicação) e as PK de algumas tabelas são chaves compostas
que incluem a coluna id_servidor. Os clientes acabam recebendo um código
que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1) e os
JOINS precisam sempre considerar isto. Não chega a ser nada desesperador,
mas nesta reforma vamos reduzir o uso de chaves artificiais ao mínimo
necessário -- como, talvez, esta tabela de pessoas.

Por enquanto, sem ter ainda me aprofundado nesta reforma (são centenas de
tabelas), acho difícil escapar de pelo menos três chaves artificiais: código
da pessoa, código do produto e número do pedido.


Em 4 de março de 2010 15:24, Osvaldo Kussama
osvaldo.kuss...@gmail.comescreveu:

 Em 4 de março de 2010 13:28, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
 
  Uma possibilidade é usar uma chave composta, tipo CNPJ + chave extra
 onde
  esta chave extra tem NULL em todas as PF e quase todas as PJ. Quando uma
 PJ
  pertencer a mais de um cliente (órgãos públicos, universidades, etc),
 esta
  chave extra conterá um código (numérico? texto?) que identificará cada
  unidade. Para escolas, poderia ser um código tipo INEP, por exemplo. Em
  universidades poderia ser algum código que identifique o setor.
 
  Alguém tem alguma sugestão para isto?


 Apenas uma observação: uma chave primária não pode conter NULL em
 nenhum dos campos que a compõe.
 Não ficou claro se quando você diz chave composta está ou não se
 referindo a chave primária.

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




-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Andre Fernandes
Em 4 de março de 2010 16:00, Alexsander Rosa
alexsander.r...@gmail.comescreveu:

 Sim, na verdade eu editei o texto várias vezes e este detalhe passou
 despercebido. Este campo, chave_extra, ficaria com um valor tipo 0 (se for
 inteiro) ou brancos (se for texto) na maioria dos casos. Mas tenho minhas
 dúvidas se esta é mesmo a melhor solução, acho que no fim vai ser melhor
 usar uma chave artificial, a famosa código do cliente.

 Existe também o problema da replicação. Cada filial tem um servidor
 (replicado) e nenhuma loja pode parar por falta de Internet ou falta de
 comunicação com a Matriz. Sei que muitas empresas simplesmente param quando
 isso acontece, com a tradicional explicação de que estamos sem sistema,
 mas nós nunca achamos isto aceitável -- especialmente no caso das redes de
 varejo. Além disso, a legislação praticamente exige que o software de PDV
 emita cupons mesmo com o cabo de rede cortado.

 Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
 (estão fora da replicação) e as PK de algumas tabelas são chaves compostas
 que incluem a coluna id_servidor. Os clientes acabam recebendo um código
 que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1) e os
 JOINS precisam sempre considerar isto. Não chega a ser nada desesperador,
 mas nesta reforma vamos reduzir o uso de chaves artificiais ao mínimo
 necessário -- como, talvez, esta tabela de pessoas.

 Por enquanto, sem ter ainda me aprofundado nesta reforma (são centenas de
 tabelas), acho difícil escapar de pelo menos três chaves artificiais: código
 da pessoa, código do produto e número do pedido.

 Às vezes, o que parece ser uma chave artificial acaba recebendo um
significado no negócio e, por isso, toma enlaces de chave natural. Por
exemplo, quanto temos um número do pedido, esse número é o que identifica o
mesmo, é usado pelo comprador ao se referir sobre seu pedido, vai para uma
nota fiscal, então ele possui significado, deixa de ser uma chave
artificial, no sentido restrito.

Abraços,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Tarcísio Sassara
Em 4 de março de 2010 16:00, Alexsander Rosa
alexsander.r...@gmail.com escreveu:
 Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
 (estão fora da replicação) e as PK de algumas tabelas são chaves compostas
 que incluem a coluna id_servidor. Os clientes acabam recebendo um código
 que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1) e os

Talvez seja melhor pensar em UUIDs.
http://en.wikipedia.org/wiki/Universally_Unique_Identifier



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


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Alexsander Rosa
Leandro:

Em 4 de março de 2010 16:30, Leandro DUTRA
leandro.gfc.du...@gmail.comescreveu:

 2010/3/4 Alexsander Rosa alexsander.r...@gmail.com:

  Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
  (estão fora da replicação) e as PK de algumas tabelas são chaves
 compostas
  que incluem a coluna id_servidor. Os clientes acabam recebendo um
 código
  que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1)

 Essa informação depois é replicada para outros servidores?


Sim, tudo é replicado para todos os servidores (exceto as sequences).
Provavelmente existem pessoas 9502/2, 9502/16, 9502/101, etc criadas em
momentos bem diferentes, de acordo com as datas de inauguração de cada
filial. Números baixos costumam aparecer dezenas de vezes, um para cada
filial. Por outro lado, números mais altos geralmente só aparecem nas lojas
mais antigas.

Lembrando que muitas vezes nós somos o ENÉSIMO sistema implantado e acabamos
herdando cadastros com milhares de clientes e, sempre que possível,
mantemos os códigos. Em geral, se não houver como identificar as lojas no
sistema legado, colocamos todos os cadastros importados como se tivessem
sido criados na Matriz, que quase sempre é o servidor com ID 1.

-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Alexsander Rosa
Podem me chamar de ultrapassado, mas nunca simpatizei com UUIDs.

Em 4 de março de 2010 16:43, Tarcísio Sassara
sassara.tarci...@gmail.comescreveu:

 Em 4 de março de 2010 16:00, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
  Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
  (estão fora da replicação) e as PK de algumas tabelas são chaves
 compostas
  que incluem a coluna id_servidor. Os clientes acabam recebendo um
 código
  que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1) e
 os

 Talvez seja melhor pensar em UUIDs.
 http://en.wikipedia.org/wiki/Universally_Unique_Identifier

 --
 Tarcisio F. Sassara



-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Linguagens suportadas pelo post!

2010-03-04 Por tôpico Luigi Castro Cardeles
Olá,

pl/r,pl/proxy,pl/python,c,pl/pgsql...

[]'s
Luigi Castro Cardeles


Em 4 de março de 2010 15:04, Fabrízio de Royes Mello 
fabriziome...@gmail.com escreveu:



 Em 4 de março de 2010 14:52, paulo matadr saddon...@yahoo.com.brescreveu:

 Pessoal,
 Venho com algo simples,vcs saberiam me dizer quais as linguagem suportadas
 pelo postgres 8.3?



 Caro Paulo,

 Na documentação [1] constam algumas das possibilidades de linguagens...
 além destas posso destacar: pl/php, pl/java, pl/sh, pl/lua, dentre outras
 (mais alguém para colaborar)

 [1] http://www.postgresql.org/docs/8.3/interactive/server-programming.html

 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.blogspot.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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Leandro DUTRA
2010/3/4 Alexsander Rosa alexsander.r...@gmail.com:
 Podem me chamar de ultrapassado, mas nunca simpatizei com UUIDs.

Mór di quê?


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3854 7191  gTalk: xmpp:leand...@jabber.org
+55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Linguagens suportadas pelo post!

2010-03-04 Por tôpico Osvaldo Kussama
Em 4 de março de 2010 14:52, paulo matadr saddon...@yahoo.com.br escreveu:
 Pessoal,
 Venho com algo simples,vcs saberiam me dizer quais as linguagem suportadas
 pelo postgres 8.3?



Dê uma olhada em:
http://www.postgresql.org/docs/current/interactive/external-projects.html
lá você terá informações tanto para clientes quanto para o servidor.

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


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Tarcísio Sassara
Em 4 de março de 2010 16:53, Alexsander Rosa
alexsander.r...@gmail.com escreveu:
 Sim, tudo é replicado para todos os servidores (exceto as sequences).
 Provavelmente existem pessoas 9502/2, 9502/16, 9502/101...

Não detona relatórios essas duplicidades?
Relatórios do tipo Ranking podem mostrar resultados bem diferentes do real.


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


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Mozart Hasse
+1 (Falou e disse!)

From: Wolak Sistemas - Fabiano Machado Dias
fabi...@wolaksistemas.com.br
Subject: Re: [pgbr-geral] Usando CPF/CNPJ como PK

Use uma pk artificial e seja feliz. Fuja de pks compostas, elas ainda vao te 
dar uma bela dor de cabeca.
Abraco


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


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Mozart Hasse
Ah, questão de prática.
Tenho 900 tabelas para brincar e de proporção deve dar uns 60% com PK 
artifical contra 40% sem.
Realmente base com 150GB eu não tenho, mas no meu caso a dor de cabeça é 
cuidar dos malditos 40% sem PK artificial em bases muito menores.

Atenciosamente,

Mozart Hasse

From: Dickson S. Guedes lis...@guedesoft.net
Subject: Re: [pgbr-geral] Usando CPF/CNPJ como PK

Vocês já precisaram mesclar umas 5 bases, cada uma com uns 150 GB de
dados, aproximadamente 800 tabelas, com 90% delas contendo chaves
artificiais? Isso sim que é dor de cabeça.


___
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 ao instalar PostreSQL 8.4.2-1 no Windows Vista

2010-03-04 Por tôpico vinicius perroni
Rapaz eu não me lembro acho que tive esse problema no win 7 também não
sei se é o mesmo. Resolvi indo antes da instalação nos serviços e
ativando o serviço Logon secundário como automático. Se tratando do
janelão é bom reiniciar depois para dar sorte :)


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


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Alexsander Rosa
Claro que não detona, são meras chaves compostas -- e com apenas DUAS
colunas. Um exemplo pior de chave composta é o da tabela dos cupons fiscais,
cuja PK tem quatro colunas (data, nº do ecf, nº do cupom e nº da loja),
todas chaves NATURAIS. Os próprios equipamentos fiscais geram estes dados.

Em 4 de março de 2010 18:26, Tarcísio Sassara
sassara.tarci...@gmail.comescreveu:

 Em 4 de março de 2010 16:53, Alexsander Rosa
 alexsander.r...@gmail.com escreveu:
  Sim, tudo é replicado para todos os servidores (exceto as sequences).
  Provavelmente existem pessoas 9502/2, 9502/16, 9502/101...

 Não detona relatórios essas duplicidades?
 Relatórios do tipo Ranking podem mostrar resultados bem diferentes do real.


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




-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Dickson S. Guedes
Em 4 de março de 2010 20:13, Mozart Hasse mozart.ha...@usa.net escreveu:
 Ah, questão de prática.
 Tenho 900 tabelas para brincar e de proporção deve dar uns 60% com PK
 artifical contra 40% sem.
 Realmente base com 150GB eu não tenho, mas no meu caso a dor de cabeça é
 cuidar dos malditos 40% sem PK artificial em bases muito menores.

Poisé, por isso que não podemos dizer que existe uma regra específica,
mas um conjunto de técnicas que uma vez aplicadas a um ambiente
específico conseguimos atingir um grau de manutenção satisfatório para
o caso em questão.

Mozart, apenas por curiosidade, essas chaves artificiais são
sequences? Se sim, já aconteceu de você precisar copiar dados de
outras bases para esta por exemplo? Se sim, pode nos expor como você o
fez?

[]s
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral