Uživatelské nástroje

Nástroje pro tento web


navody:firebird

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
navody:firebird [2015/04/29 07:20]
jules [Příkazy]
navody:firebird [2015/04/29 14:10] (aktuální)
jules [Příkazy]
Řádek 19: Řádek 19:
 </code> </code>
  
-vytvoření tabulky brands s generatorem a triggerem pro auto increment id+vytvoření tabulky ''PARTS'' s generatorem a triggerem pro auto increment id; sloupec ''BRAND'' odkazuje na primární klíč v tabulce ''BRANDS''
 <code sql> <code sql>
-CREATE TABLE brands+CREATE TABLE PARTS
 ( (
-    id int not null primary key+  ID integer NOT NULL PRIMARY KEY
-    name varchar(50) not null+  BRAND integer NOT NULL REFERENCES BRANDS, 
 +  NAME varchar(1500) NOT NULL, 
 +  CODE varchar(50) NOT NULL
 ); );
  
-CREATE GENERATOR generator_brands_id; +SET TERM !! ; 
-SET GENERATOR generator_brands_id TO 0; +CREATE TRIGGER PARTS_BI FOR PARTS ACTIVE 
- +BEFORE insert POSITION 0
-set term !! ; +
-CREATE TRIGGER trigger_brands_id FOR brands +
-ACTIVE BEFORE INSERT POSITION 0+
 AS AS
 +DECLARE VARIABLE tmp DECIMAL(18,0);
 BEGIN BEGIN
-if (NEW.ID is NULL) then NEW.ID = GEN_ID(generator_brands_id, 1);+  IF (NEW.ID IS NULL) THEN 
 +    NEW.ID = GEN_ID(GEN_PARTS_ID, 1); 
 +  ELSE 
 +  BEGIN 
 +    tmp = GEN_ID(GEN_PARTS_ID, 0); 
 +    if (tmp < new.ID) then 
 +      tmp = GEN_ID(GEN_PARTS_ID, new.ID-tmp); 
 +  END
 END!! END!!
-set term; !!+SET TERM ; !!
 </code> </code>
  
navody/firebird.txt · Poslední úprava: 2015/04/29 14:10 autor: jules