счётчик в Firebird
От: cse  
Дата: 10.07.13 20:20
Оценка:
Здравствуйте,
Подскажите, как счётчик реализовать в Firebird 2.5. Не могу никак найти рабочий пример с ним. Везде ругань примерно такого содержания:

SQL> CREATE TABLE new_one

CON> (
CON> col1 integer NOT NULL,
CON> col2 CHAR(10),
CON> PRIMARY KEY (col1)
CON> );
SQL> CREATE GENERATOR my_gen_id;
SQL> CREATE TRIGGER autoincrementor_id FOR new_one
CON> ACTIVE BEFORE INSERT POSITION 0
CON> AS
CON> BEGIN
CON> IF (NEW.col1 IS NULL) THEN
CON> NEW.col1 = GEN_ID(my_gen_id,1);
Statement failed, SQLCODE = -104
Dynamic SQL Error
-SQL error code = -104
-Unexpected end of command — line 6, column 34
-------------------------
Сергей Ч.
Нижний Новгород
Re: счётчик в Firebird
От: cse  
Дата: 10.07.13 21:09
Оценка:
Нашел таки рабочий пример:



create table t1
(
id integer not null,
field1 varchar(20) not null
);

CREATE GENERATOR gen_t1_id;
SET GENERATOR gen_t1_id TO 0;

set term !! ;
CREATE TRIGGER T1_BI FOR T1
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (NEW.ID is NULL) then NEW.ID = GEN_ID(GEN_T1_ID, 1);
END!!
set term ; !!


Хотя в мануале другой синтаксис.
-------------------------
Сергей Ч.
Нижний Новгород
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.