URGENTE!!!!

Firebird

27/02/2003

:cry:

Preciso trabalhar com o interbase 6.0, mas esbarrei num grande problema que é criar um campo auto incremento, como faço para criar a tabela abaixa no intebase 6.0

TBLCLIENTES:
CODCLIENTE - INTEGER - CHAVE PRIMÁRIA - AUTO INCREMENTO
STRCLIENTE - VARCHAR(50)

Um Abraço
Orlando Frade


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

27/02/2003

Blz Orlando?

Primerio - Firebird/interbase não tem campo autoincremento!!! :O

aê vc vai me perguntar? - Mas então como q eu auto incremento?
e eu respondo usaremos dois recursos para executar essa tarefa.
O Generator e as Triggers
- Qq é isso?
Generetor é um lugar onde vc pode guardar inteiros para fazer outo incremento e triggers são ações disparadas quando vc quiser em delphi seria os enenvto onbeforeinsert,onAfterDelete em fim... Agora chega d teoria e partimos pra pratica:

TBLCLIENTES:
CODCLIENTE - INTEGER - CHAVE PRIMÁRIA - AUTO INCREMENTO
STRCLIENTE - VARCHAR(50)

Sua tabela não muda nada.
Create table tblclientes
(
codcliente integer not null primary key,
strcliente varchar(50)
)

agora vc cria o generator para o codcliente

CREATE GENERATOR GEN_CODCLIENTE;

e agora a trigger

Set term ^ ;
Create trigger Trig_autoinc for tblclientes active before insert as
begin
new.codcliente=gen_id(gen_codcliente,1);
end^
set term ; ^

Pronto! obs vc pode por qualquer valor no codcliente pq na hora em q ele for gravar no banco ele muda. vc pode por 0 zero.

ficou grande no começo é assim mesmo depois piora =) boa sorte cara

Obs: Eu uso o FireBird e peço q quem use diga FIREBIRD e não interbase. sabemos q um é derivado do outro mas já são duas coisas diferentes. e eu uso o FireBird e to muito =)


GOSTEI 0
POSTAR