Olá galera,

Ih cara, o que o pessoal falou em relação a pk é sério mesmo, se o camarada 
vacilar, lá na frente pira com um DB corrompido!

Se vc usa ClienteDataSet use da maneira como o Bruno mostrou, p evitar violação 
de pk, se não, veja como vc está tratando suas transações com o componente que 
está usando.

Seguinte, mesmo que vc queira que um código seja recuperado, deixe nem que seja 
um id usando generator, não precisa o seu cliente ver esse id, ele é interno e 
só um controle seu, daí no campo codigo vc pode mandar bala (mesmo assim não é 
uma boa prática, pq vc teria que remover a pk do codigo, a não ser que só tenha 
uma transação ativa, tipo, um sistema que só uma pessoa usa em um PC).

Numa trigger ficaria assim:
-------

if (inserting)  then
  new.codigo = new.codigo + 1;-------

Numa procedure:
-------

select count(t.codigo) + 1 from tabela t into :codigo;
-------

Daí vc pega o valor em codigo (que é um parâmetro de saída), mas, deve ter 
coisa bem melhor, minha opinião foi bem simples pq no banco eu só uso um 
generator, pk's, sk's (ou idx's) e as tabelas, como estou começando a programar 
com OOP+DB meu SQL fica todo no projeto.

P.S.: Estou criando com um Amigo um projeto 100% OOP, uma cópia para Delphi 
(uso o 7) e outra para o Lazarus, o massa será a galera ver um tempo que uma 
transação fica aberta (acho q alguns milésimos de segundos :) ).

________________________________
[]'s, Silvio Clécio
---
Linux User: #481900
Skype: silvioprog
ICQ: 432519902
E-mail, Y! Messenger: silviop...@yahoo.com.br
Gmail, GTalk: silviop...@gmail.com
Hotmail, MSN: silviop...@hotmail.com
BlogSpot: http://silvioclecio.blogspot.com/
BlogSite: http://silvioprog.blogspot.com/
°oO| Seja livre, use Linux! |Oo°



________________________________
De: Ricardo Rocha <ricardo_r...@yahoo.com.br>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 16 de Março de 2009 0:44:43
Assunto: Res: Res: [delphi-br] Delphi-Firebird-Generators


Olá Silvio Clésio! Primeiramente obrigado pela resposta...
Gostaria de fazer isso no Firebird.

Ricardo Messias da Silva Rocha
Ciência da Computação - 2009 -   


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a