Скрипт дополнений к ЕГАИС
Материал из wiki.standart-n.ru
Версия от 17:26, 23 августа 2016; Aleksnick (обсуждение | вклад)
set term ^; CREATE TABLE EGAIS_PRODUCERS ( ID DM_TEXT NOT NULL /* DM_TEXT = VARCHAR(250) */, INN DM_TEXT /* DM_TEXT = VARCHAR(250) */, KPP DM_TEXT /* DM_TEXT = VARCHAR(250) */, FULLNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, SHORTNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, COUNTRY DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, POSTINDEX DM_TEXT /* DM_TEXT = VARCHAR(250) */, REGIONCODE DM_TEXT /* DM_TEXT = VARCHAR(250) */, DESCRIPTION DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, CITY DM_TEXT /* DM_TEXT = VARCHAR(250) */, STREET DM_TEXT /* DM_TEXT = VARCHAR(250) */ );^ CREATE UNIQUE INDEX EGAIS_PRODUCERS_IDX1 ON EGAIS_PRODUCERS (ID);^ create generator GEN_EGAIS_SHOP_ID; ^ create table EGAIS_SHOP ( ID integer not null, PART_ID DM_ID_NULL /* DM_ID_NULL = bigint */, SNAME DM_TEXT1024 /* DM_TEXT1024 = varchar (1024) */, QUANT DM_DOUBLE /* DM_DOUBLE = double precision */, EGAIS_QUANT DM_DOUBLE /* DM_DOUBLE = double precision */, ALCCODE DM_TEXT1024 /* DM_TEXT1024 = varchar (1024) */, UNITTYPE DM_TEXT /* DM_TEXT = varchar (250) */, ALCVOLUME DM_DOUBLE /* DM_DOUBLE = double precision */, PRODUCTVCODE DM_STATUS /* DM_STATUS = integer */, PRODUCER_ID DM_TEXT /* DM_TEXT = varchar (250) */); ^ create or alter trigger EGAIS_SHOP_BI for EGAIS_SHOP active before insert position 0 as begin if (new.ID is null) then new.ID = gen_id(GEN_EGAIS_SHOP_ID, 1); end^ create or alter view VW_WARESHOP ( ID, PART_ID, SNAME, QUANT, EGAIS_QUANT, ALCCODE, UNITTYPE, ALCVOLUME, PRODUCTVCODE, PRODUCER_ID) as select ID, PART_ID, SNAME, QUANT, EGAIS_QUANT, ALCCODE, UNITTYPE, ALCVOLUME, PRODUCTVCODE, PRODUCER_ID from EGAIS_SHOP; ^ set term; ^