SET SQL DIALECT 3; DROP INDEX OUT$MEMORAND_KZ_IDX1; ALTER TABLE OUT$MEMORAND_KZ DROP CONSTRAINT PK_OUT$MEMORAND_KZ; DROP SEQUENCE GEN_MEMORAND_KZ; DROP TABLE OUT$MEMORAND_KZ; CREATE GENERATOR GEN_MEMORAND_KZ; CREATE TABLE OUT$MEMORAND_KZ ( ID DM_ID /* DM_ID = BIGINT */, SNAME DM_TEXT /* DM_TEXT = VARCHAR(250) */, BARCODE DM_TEXT /* DM_TEXT = VARCHAR(250) */, PRICE DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, D$UUID DM_UUID /* DM_UUID = CHAR(36) NOT NULL */, D$SRVUPDDT DM_DATETIME /* DM_DATETIME = TIMESTAMP */ ); ALTER TABLE OUT$MEMORAND_KZ ADD CONSTRAINT PK_OUT$MEMORAND_KZ PRIMARY KEY (D$UUID); CREATE INDEX OUT$MEMORAND_KZ_IDX1 ON OUT$MEMORAND_KZ (BARCODE); SET TERM ^ ; /* Trigger: OUT$MEMORAND_KZ_BD0 */ CREATE OR ALTER TRIGGER OUT$MEMORAND_KZ_BD0 FOR OUT$MEMORAND_KZ INACTIVE BEFORE DELETE POSITION 0 AS declare variable soper integer; begin select soper from g$distribute where uuid=old.d$uuid into soper; if (soper<>2) then exception EX_WRONG_DB; end ^ /* Trigger: OUT$MEMORAND_KZ_BI0 */ CREATE OR ALTER TRIGGER OUT$MEMORAND_KZ_BI0 FOR OUT$MEMORAND_KZ ACTIVE BEFORE INSERT POSITION 0 AS begin new.id = gen_id(GEN_MEMORAND_KZ,1); end ^ /* Trigger: OUT$MEMORAND_KZ_BI0_DISTR */ CREATE OR ALTER TRIGGER OUT$MEMORAND_KZ_BI0_DISTR FOR OUT$MEMORAND_KZ ACTIVE BEFORE INSERT POSITION 0 AS begin if (new.d$uuid is null) then begin new.d$uuid=UUID_TO_CHAR(GEN_UUID()); new.d$srvupddt='2000-01-01'; -- update or insert into g$distribute (TABLENAME,UUID,SOPER,FROM_PROFILE_ID) values ('OUT$MEMORAND_KZ',new.d$uuid,0,null) matching (TABLENAME,UUID); end end ^ /* Trigger: OUT$MEMORAND_KZ_BU0_DISTR */ CREATE OR ALTER TRIGGER OUT$MEMORAND_KZ_BU0_DISTR FOR OUT$MEMORAND_KZ ACTIVE BEFORE UPDATE POSITION 0 AS begin --if ((new.D$SRVUPDDT=old.D$SRVUPDDT) and ((select param_value from params where param_id = 'CODE_PROFILE') <> '2')) then -- exception EX_WRONG_DB; if (new.D$SRVUPDDT=old.D$SRVUPDDT) then begin update or insert into g$distribute (TABLENAME,UUID,SOPER,FROM_PROFILE_ID) values ('OUT$MEMORAND_KZ',new.d$uuid,1,null) matching (TABLENAME,UUID); end end ^ SET TERM ; ^