CREATE TABLE MAIN_TABLE
(
NUM_MAIN_TABLE INTEGER NOT NULL,
INT_LOCAL INTEGER,
PRIMARY KEY (NUM_MAIN_TABLE)
);
CREATE GENERATOR GEN_MAIN_TABLE;
SET TERM!!;
CREATE TRIGGER TRIG_MAIN_TABLE FOR MAIN_TABLE
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.NUM_MAIN_TABLE=gen_id(gen_main_table,1);
end!!
SET TERM ;!!
CREATE TABLE DEL_TABLE
(
NUM_DEL_TABLE INTEGER NOT NULL,
NUM_MAIN_TABLE INTEGER,
INT_LOCAL INTEGER,
PRIMARY KEY (NUM_DEL_TABLE)
);
ALTER TABLE DEL_TABLE ADD FOREIGN KEY (NUM_MAIN_TABLE)
REFERENCES MAIN_TABLE (NUM_MAIN_TABLE) ON UPDATE CASCADE ON DELETE CASCADE;
CREATE GENERATOR GEN_DEL_TABLE;
SET TERM!!;
CREATE TRIGGER TRIG_DEL_TABLE FOR DEL_TABLE
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.NUM_DEL_table=gen_id(gen_del_table,1);
end!!
SET TERM;!!
CREATE TABLE NULL_TABLE
(
NUM_NULL_TABLE INTEGER NOT NULL,
NUM_MAIN_TABLE INTEGER,
INT_LOCAL INTEGER,
PRIMARY KEY (NUM_NULL_TABLE)
);
ALTER TABLE NULL_TABLE ADD FOREIGN KEY (NUM_MAIN_TABLE)
REFERENCES MAIN_TABLE (NUM_MAIN_TABLE) ON UPDATE CASCADE ON DELETE SET NULL;
CREATE GENERATOR GEN_NULL_TABLE;
SET TERM!!;
CREATE TRIGGER TRIG_NULL_TABLE FOR NULL_TABLE
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.NUM_NULL_TABLE=gen_id(gen_null_table,1);
end!!
SET TERM ;!!
|