Deixa eu explicar melhor, tenho um sistema asp+firebird, que estou
convertendo para php + firebird.
Com o objetos pdo do php, o mesmo codigo pode acessar uma base equivalente
em qualquer outro banco de dados (que o pdo dá suporte e são muitos bancos,
incluindo o postgresql).

Então estou tentando reproduzir fielmente a minha base de dados do firebird
para o postgresql e isso é mais um exercicio de aprendizado com o
postgresql. Já a conversão de asp+firebird para php não é aprendizado, é
trabalho mesmo.


Em 10 de novembro de 2011 16:57, Danilo Silva
<[email protected]>escreveu:

> Por curiosidade, vc quer gerar um valor aleatório ( ou outro valor
> qualquer) para cada pk das tabelas? Se for isso, não seria mais fácil
> utilizar uma sequence e atribuir esta sequence como valor default das pks?
>
> Danilo
>
> Em 10 de novembro de 2011 16:29, Juliano Benvenuto Piovezan <
> [email protected]> escreveu:
>
> 2011/11/10 Marllos <[email protected]>
>> >
>> > Foi mal amigo....
>> > Na verdade eu quero é atribuir um valor a chave primária, mas fazendo
>> refencia dinamica a chave.
>> >
>>
>> Uma coisa que posso ter passado na discussão, mas sua chave é simples
>> ou composta?
>>
>> Em plpgsql você realmente não conseguirá isso, a não ser que você
>> utilize o mesmo nome do campo em todas as tabelas. Como os nomes são
>> diferentes, como você especificou, apenas com alguma outra pl mesmo,
>> como pltcl. Segue exemplo:
>>
>> CREATE OR REPLACE FUNCTION "fun_trg" (
>> )
>> RETURNS trigger AS
>> $body$
>> spi_exec -count 1 "SELECT a.attname as col
>>                    FROM pg_class c,
>>                         pg_attribute a,
>>                         pg_index i
>>                    WHERE c.oid = i.indrelid AND
>>                          a.attrelid = i.indexrelid AND
>>                          not a.attisdropped AND
>>                          a.attnum > 0 AND
>>                          i.indisprimary AND
>>                          c.oid = '$TG_relid'"
>> spi_exec -count 1 "SELECT uuid_generate_v4() as c"
>> set NEW($col) $c
>> return [array get NEW]
>> $body$
>> LANGUAGE 'pltcl'
>> VOLATILE
>> CALLED ON NULL INPUT
>> SECURITY INVOKER
>> COST 100;
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a