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  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


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
escreveu:

> Em 4 de março de 2010 16:53, Alexsander Rosa
>  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] 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 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" 
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] Usando CPF/CNPJ como PK

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

From: Wolak Sistemas - Fabiano Machado Dias

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 Tarcísio Sassara
Em 4 de março de 2010 16:53, Alexsander Rosa
 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] Linguagens suportadas pelo post!

2010-03-04 Por tôpico Osvaldo Kussama
Em 4 de março de 2010 14:52, paulo matadr  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 Leandro DUTRA
2010/3/4 Alexsander Rosa :
> 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 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 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 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
escreveu:

> Em 4 de março de 2010 16:00, Alexsander Rosa
>  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] 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
escreveu:

> 2010/3/4 Alexsander Rosa :
>
> > 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 Tarcísio Sassara
Em 4 de março de 2010 16:00, Alexsander Rosa
 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 Leandro DUTRA
2010/3/4 Alexsander Rosa :
> acho que no fim vai ser melhor
> usar uma chave artificial, a famosa "código do cliente".

Pode até ser — mas lembre-se que tem de ser sempre um complemento à
chave natural, nunca um substituto.


> 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?


> 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.

O problema nem é tanto a existência delas, o grave seria a falta das naturais.


-- 
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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Andre Fernandes
Em 4 de março de 2010 16:00, Alexsander Rosa
escreveu:

> 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 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
escreveu:

> Em 4 de março de 2010 13:28, Alexsander Rosa
>  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] 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 Leandro DUTRA
2010/3/4 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.

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 Dickson S. Guedes
Em 4 de março de 2010 15:34, aagrjr  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] 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] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Osvaldo Kussama
Em 4 de março de 2010 13:28, Alexsander Rosa
 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] 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] Problema cursor

2010-03-04 Por tôpico Osvaldo Kussama
2010/3/4 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_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
>            

[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] 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  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


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  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


[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] 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 
   

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] 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] 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 escreveu:

> 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] 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 

> 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  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
> > 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] 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 :
>>
>> Eu dei uma olhada, mas nao consegui entender como utilizaria.
>>
>> Marcone-2 wrote:
>>>
>>> Dá um olhada na sintaxe do comando For  in  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 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  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
> 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] 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
 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] 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] 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 :
>
> Eu dei uma olhada, mas nao consegui entender como utilizaria.
>
> Marcone-2 wrote:
>>
>> Dá um olhada na sintaxe do comando For  in  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] 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 aagrjr

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

Marcone-2 wrote:
> 
> Dá um olhada na sintaxe do comando For  in  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


Re: [pgbr-geral] Problema cursor

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


Em 4 de março de 2010 09:56, Amilton Junior  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


[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