/******************************************************************************/ /*** Generated by IBExpert 20.05.2014 10:57:22 ***/ /******************************************************************************/ /******************************************************************************/ /*** Following SET SQL DIALECT is just for the Database Comparer ***/ /******************************************************************************/ SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE PRICELIST ( ID INTEGER NOT NULL, BASEPRICEID INTEGER, BASEPRICE SMALLINT DEFAULT 0, NAME VARCHAR(80), PROC DOUBLE PRECISION, CODE VARCHAR(20), CURS DOUBLE PRECISION DEFAULT 1.0, RND DOUBLE PRECISION, BONUSPRICE DOUBLE PRECISION DEFAULT 0.0 NOT NULL, USERNAME VARCHAR(20), LASTEDIT TIMESTAMP DEFAULT Current_TimeStamp ); /******************************************************************************/ /*** Primary Keys ***/ /******************************************************************************/ ALTER TABLE PRICELIST ADD CONSTRAINT PRICELIST_PK PRIMARY KEY (ID); /******************************************************************************/ /*** Foreign Keys ***/ /******************************************************************************/ ALTER TABLE PRICELIST ADD CONSTRAINT PRICELIST_BASEPRICEID FOREIGN KEY (BASEPRICEID) REFERENCES PRICELIST (ID) ON UPDATE CASCADE; /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: PRICELIST_BEFORE_DELETE */ CREATE OR ALTER TRIGGER PRICELIST_BEFORE_DELETE FOR PRICELIST ACTIVE BEFORE DELETE POSITION 0 AS begin Delete From PriceGoods where PriceID=OLD.ID; end ^ /* Trigger: PRICELIST_BU0 */ CREATE OR ALTER TRIGGER PRICELIST_BU0 FOR PRICELIST ACTIVE BEFORE UPDATE POSITION 0 AS begin New.LastEdit = Current_TimeStamp; end ^ SET TERM ; ^ /******************************************************************************/ /*** Descriptions ***/ /******************************************************************************/ COMMENT ON TABLE PRICELIST IS 'Прайс-Листы'; /******************************************************************************/ /*** Fields descriptions ***/ /******************************************************************************/ COMMENT ON COLUMN PRICELIST.ID IS 'Уникальный код записи'; COMMENT ON COLUMN PRICELIST.BASEPRICEID IS 'Ссылка на базовый прайс-лист (для производных прайс-листов)'; COMMENT ON COLUMN PRICELIST.BASEPRICE IS 'Тип прайс-листа: =1 - базовый =0 - производный'; COMMENT ON COLUMN PRICELIST.NAME IS 'Наименование Прайс-Листа'; COMMENT ON COLUMN PRICELIST.PROC IS 'Скидка в % от базового прайс-листа'; COMMENT ON COLUMN PRICELIST.CODE IS 'Код прайс-листа (сокращение)'; COMMENT ON COLUMN PRICELIST.CURS IS 'Курс у.е. (для перерасчетов)'; COMMENT ON COLUMN PRICELIST.RND IS 'Степень округления цен, например: 0.01 - до одной коп. 1.00 - до 1 грн.'; COMMENT ON COLUMN PRICELIST.BONUSPRICE IS '% бонуса'; COMMENT ON COLUMN PRICELIST.USERNAME IS 'Имя пользователя'; COMMENT ON COLUMN PRICELIST.LASTEDIT IS 'Дата / время последней модификации записи'; /******************************************************************************/ /*** Privileges ***/ /******************************************************************************/