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 09:20]
jules [Příkazy]
navody:firebird [2015/04/29 16: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 16:10 autor: jules