Um conhecimento só é válido quando compartilhado.

domingo, 14 de março de 2010

Firebird - UPDATE OR INSERT INTO

Um dia desse desenvolvendo meu PAF, que usa Firebird, abri o IBExpert para gerar um script de insert, la eu vi que tinha uma opção chamada "UPDATE OR INSERT INTO", com essa opção selecionada, as colunas e a chave primaria marcada recebi um script da seguinte forma:
UPDATE OR INSERT INTO B01_FON (B01_BANCO, B01_NOME)
                       VALUES ('001', 'BRASIL S/A')
                     MATCHING (B01_BANCO);
Me Restava descobrir se essa sintaxe, ia funcionar executando dentro de delphi, e para mimha surpresa funcionou 100%, ou seja está ai uma maneira MUITO facil de se fazer sincronismo de dados no Firebird, pois executando esse Script o firebird checa pelo campo chave que está em MATCHING (B01_BANCO) (caso tenha mais campos na chave primária, basta separar por virgula), se não existir essa chave ele executa o INSERT, e se existir ele executa o UPDATE comparando a diferença campo a campo, que não pertença a chave primaria.

Abs

SAC Automação Delphi e Lazarus

SAC Automação Delphi e Lazarus
Assine nosso SAC Automação Delphi e Lazarus para ter suporte técnico especializado em desenvolvimento

Quem sou eu

Minha foto

Proprietário/Administrador de Empresa em TI (Tecsis Informática)
  • Autor dos projetos OpenSource ORMBr, e DBCBr
  • Autor dos componentes ACBrInstall, ACBrSped, ACBrPaf, ACBrInStore, ACBrDownload.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores

Google+ Seguindores