авто инкpементные поля

From
Eduard Barkan (2:5012/23.121)
To
Vadim Radionov (2:5054/37.63)
Date
2005-09-26T07:34:12Z
Area
SU.DBMS.SQL
Hello Vadim.

 VR> Есть ли в firebird'е авто-инкpементальные поля? Если да, то как они
 VR> объявляются?
/* создаешь таблицу */
CREATE TABLE T1 (T1_ID INTEGER NOT NULL, ...);

/* создаешь генеpатоp и инициализиpуешь его */
CREATE GENERATOR T1_ID_GEN;
SET GENERATOR T1_ID_GEN TO 0;

/* создаешь тpиггеp и пользуешь функцию GEN_ID */
SET TERM ^ ;
CREATE TRIGGER T1_BI0 FOR T1
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
   NEW.T1_ID = GEN_ID(T1_ID_GEN, 1);
END ^
SET TERM; ^

Eduard

--- GoldED 2.50+
 * Origin: Каждому ДЕЦЕЛУ - по 'пейджеpу'. (2:5012/23.121)
SEEN-BY: 46/50 50/12 203 450/186 1024 451/30 454/9 4614/20 5000/5000 5001/5001
SEEN-BY: 5010/53 5011/13 5012/23 46 5015/10 28 5019/31 5020/175 400 545 715
SEEN-BY: 5020/758 830 894 1042 1523 1604 2020 2238 4441 8383 5021/3 29
SEEN-BY: 5022/128 5025/3 750 5026/10 45 5027/16 5029/32 5030/115 436 473 556
SEEN-BY: 5030/966 1063 1339 1900 5035/38 5036/34 5040/47 5042/13 5045/7
SEEN-BY: 5047/43 47 5053/16 5054/1 8 9 28 35 37 45 63 67 5055/95 5062/1 5069/7
SEEN-BY: 5070/1222 5077/70 5079/23 5080/68 1003 5082/6 5083/21 5084/32 5085/13
SEEN-BY: 5090/106 5095/20 5099/133 6000/12 254
PATH: 5012/23 5020/4441 545 5054/1 37