Я думаю, что пример сценария стоит более 1000 слов:
Перейдите в интерфейс оболочки на компьютере сервера Firebird, перейдите в папку, в которой у вас есть права на чтение / запись, запустите isql или isql-fb (зависит от вашей системы и версии firebird) и запустите этот скрипт:
create database 'netmajor.fdb' user 'sysdba' password 'masterkey';
set autoddl off;
create table netmajor_example (
netmajor_id integer not null
, str_data varchar(200)
, int_data integer
, constraint pk_netmajor_example
primary key (netmajor_id)
);
create generator netmajor_gen;
set term ^;
create trigger netmajor_pkassign
for netmajor_example
active before insert position 1
AS
begin
if (new.netmajor_id is null) then
new.netmajor_id = gen_id(netmajor_gen, 1);
end
^
commit work^
set term ; ^
insert into netmajor_example (str_data, int_data) values ('one', 1);
insert into netmajor_example (str_data, int_data) values ('twenty', 20);
commit work;
select * from netmajor_example;
Посмотрите на результаты, которые в моей машине:
; NETMAJOR_ID STR_DATA INT_DATA
;============ ============================ ============
; 1 one 1
; 2 twenty 20
Если у вас есть вопросы, не стесняйтесь обращаться. С наилучшими пожеланиями.