Скрипт дополнений к ЕГАИС — различия между версиями
Материал из wiki.standart-n.ru
Aleksnick (обсуждение | вклад) (Новая страница: «<pre> set term ^; 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_TEXT1…») |
Agk (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии 2 участников) | |||
| Строка 1: | Строка 1: | ||
<pre> | <pre> | ||
set term ^; | 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 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 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) */); | ||
^ | ^ | ||
| Строка 43: | Строка 69: | ||
set term; | set term; | ||
^ | ^ | ||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Generated by IBExpert 27.09.2016 17:09:58 ***/ | ||
| + | /******************************************************************************/ | ||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Following SET SQL DIALECT is just for the Database Comparer ***/ | ||
| + | /******************************************************************************/ | ||
| + | SET SQL DIALECT 3; | ||
| + | |||
| + | |||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Tables ***/ | ||
| + | /******************************************************************************/ | ||
| + | |||
| + | |||
| + | CREATE GENERATOR GEN_EGAIS_SKLAD_ID; | ||
| + | |||
| + | CREATE TABLE EGAIS_SKLAD ( | ||
| + | ID DM_ID NOT NULL /* DM_ID = BIGINT */, | ||
| + | QUANTITY DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | ||
| + | INFORMAREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | INFORMBREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | FULLNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | ALCCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | CAPACITY DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | ||
| + | ALCVOLUME DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */, | ||
| + | PRODUCTVCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_CLIENTREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_INN DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_KPP DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_FULLNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_SHORTNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_COUNTRY DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_REGIONCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | PRODUCER_DESCRIPTION DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */, | ||
| + | INSERTDT DM_DATETIME /* DM_DATETIME = TIMESTAMP */ | ||
| + | ); | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Triggers ***/ | ||
| + | /******************************************************************************/ | ||
| + | |||
| + | |||
| + | SET TERM ^ ; | ||
| + | |||
| + | |||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Triggers for tables ***/ | ||
| + | /******************************************************************************/ | ||
| + | |||
| + | |||
| + | |||
| + | /* Trigger: EGAIS_SKLAD_BI */ | ||
| + | CREATE OR ALTER TRIGGER EGAIS_SKLAD_BI FOR EGAIS_SKLAD | ||
| + | ACTIVE BEFORE INSERT POSITION 0 | ||
| + | as | ||
| + | begin | ||
| + | if (new.id is null) then | ||
| + | new.id = gen_id(gen_egais_sklad_id,1); | ||
| + | if (new.insertdt is null) then | ||
| + | new.insertdt = 'now'; | ||
| + | end | ||
| + | ^ | ||
| + | |||
| + | |||
| + | SET TERM ; ^ | ||
| + | |||
| + | |||
| + | |||
| + | /******************************************************************************/ | ||
| + | /*** Privileges ***/ | ||
| + | /******************************************************************************/ | ||
| + | |||
| + | |||
</pre> | </pre> | ||
Текущая версия на 18:05, 27 сентября 2016
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;
^
/******************************************************************************/
/*** Generated by IBExpert 27.09.2016 17:09:58 ***/
/******************************************************************************/
/******************************************************************************/
/*** Following SET SQL DIALECT is just for the Database Comparer ***/
/******************************************************************************/
SET SQL DIALECT 3;
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE GENERATOR GEN_EGAIS_SKLAD_ID;
CREATE TABLE EGAIS_SKLAD (
ID DM_ID NOT NULL /* DM_ID = BIGINT */,
QUANTITY DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */,
INFORMAREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
INFORMBREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
FULLNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
ALCCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
CAPACITY DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */,
ALCVOLUME DM_DOUBLE /* DM_DOUBLE = DOUBLE PRECISION */,
PRODUCTVCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_CLIENTREGID DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_INN DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_KPP DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_FULLNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_SHORTNAME DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_COUNTRY DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_REGIONCODE DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
PRODUCER_DESCRIPTION DM_TEXT1024 /* DM_TEXT1024 = VARCHAR(1024) */,
INSERTDT DM_DATETIME /* DM_DATETIME = TIMESTAMP */
);
/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/
SET TERM ^ ;
/******************************************************************************/
/*** Triggers for tables ***/
/******************************************************************************/
/* Trigger: EGAIS_SKLAD_BI */
CREATE OR ALTER TRIGGER EGAIS_SKLAD_BI FOR EGAIS_SKLAD
ACTIVE BEFORE INSERT POSITION 0
as
begin
if (new.id is null) then
new.id = gen_id(gen_egais_sklad_id,1);
if (new.insertdt is null) then
new.insertdt = 'now';
end
^
SET TERM ; ^
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/