Re: [pgbr-geral] Usando CPF/CNPJ como PK
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
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
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
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
+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
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!
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/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!
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
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
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
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/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
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
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
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/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
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
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
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
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/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
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!
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/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!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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