|
ruslan
2016-11-08 16:05
manager
|
newSql.txt (4,444 bytes)
ALTER TABLE DK_BNS ADD CURRTYPID INTEGER;
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Ссылка на связанную валюту для определения курса обмена на денежные бонусы (кофе-гривны)'
WHERE RDB$RELATION_NAME = 'DK_BNS' AND RDB$FIELD_NAME = 'CURRTYPID';
ALTER TABLE DK_BNS ADD "TYPE" SMALLINT DEFAULT 0 NOT NULL;
ALTER TABLE DK_BNS ADD EXTERNALID INTEGER;
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Значение соответствует полю Id в таблице Bonuses процессингового центра'
WHERE RDB$RELATION_NAME = 'DK_BNS' AND RDB$FIELD_NAME = 'EXTERNALID';
ALTER TABLE DK_DISCOUNTBONUSSETS ADD QUANTITY DOUBLE PRECISION;
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Количество'
WHERE RDB$RELATION_NAME = 'DK_DISCOUNTBONUSSETS' AND RDB$FIELD_NAME = 'QUANTITY';
ALTER TABLE ORGN ADD PHONENBR VARCHAR(12);
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Телефонный номер. Все 12 цифр и никаких других символов.'
WHERE RDB$RELATION_NAME = 'ORGN' AND RDB$FIELD_NAME = 'PHONENBR';
ALTER TABLE WORKMAIN ADD RECEIPE BLOB SUB_TYPE 1 SEGMENT SIZE 4096;
ALTER TABLE WORKZAKAZ ADD STATE SMALLINT DEFAULT 0;
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'0 - Open; 1 - Frozen;'
WHERE RDB$RELATION_NAME = 'WORKZAKAZ' AND RDB$FIELD_NAME = 'STATE';
/* Alter Field: DK_BNS_ORGN.CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
WHERE RDB$FIELD_NAME='CNT' AND RDB$RELATION_NAME='DK_BNS_ORGN');
ALTER TABLE DK_BNS_ORGN_LOG ALTER COLUMN VAL TYPE DOUBLE PRECISION;
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Пользователь, совершивший операцию'
WHERE RDB$RELATION_NAME = 'DK_BNS_ORGN_LOG' AND RDB$FIELD_NAME = 'USERNAME';
/* Alter Field: DK_BNS_PRICEGOODS.BNS_CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
WHERE RDB$FIELD_NAME='BNS_CNT' AND RDB$RELATION_NAME='DK_BNS_PRICEGOODS');
/* Alter Field: DK_BNS_PRICEGOODS.PRICEGOODS_CNT: (INTEGER NOT NULL -> DOUBLE PRECISION NOT NULL) */
UPDATE RDB$FIELDS SET
RDB$FIELD_LENGTH=8, RDB$FIELD_TYPE=27
WHERE RDB$FIELD_NAME=(SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
WHERE RDB$FIELD_NAME='PRICEGOODS_CNT' AND RDB$RELATION_NAME='DK_BNS_PRICEGOODS');
UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION =
'Идентификатор группы складов'
WHERE RDB$RELATION_NAME = 'DK_DISCOUNTBONUSSETSTORGRP' AND RDB$FIELD_NAME = 'STOREGROUPID';
ALTER TABLE DK_BNS ADD CONSTRAINT FK_DK_BNS_CURRTYPID FOREIGN KEY (CURRTYPID) REFERENCES CURRTYP (ID);
ALTER TABLE DK_DISCOUNTBONUSSETGOODS ADD CONSTRAINT FK_DK_DISCOUNTBONUSSET FOREIGN KEY (DISCOUNTBONUSSETID) REFERENCES DK_DISCOUNTBONUSSETS (ID) ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE DK_BNS ALTER COLUMN ID POSITION 1;
ALTER TABLE DK_BNS ALTER COLUMN NAME POSITION 2;
ALTER TABLE DK_BNS ALTER COLUMN VAL POSITION 3;
ALTER TABLE DK_BNS ALTER COLUMN CURRTYPID POSITION 4;
ALTER TABLE DK_BNS ALTER COLUMN "TYPE" POSITION 5;
ALTER TABLE DK_BNS ALTER COLUMN EXTERNALID POSITION 6;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN ID POSITION 1;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN NAME POSITION 2;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN DAYSOFWEEK POSITION 3;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN PERIODBEGIN POSITION 4;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN PERIODEND POSITION 5;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN FROMTIME POSITION 6;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN TOTIME POSITION 7;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN GOAL POSITION 8;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN "TYPE" POSITION 9;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN VAL POSITION 10;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN STATE POSITION 11;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN USERNAME POSITION 12;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN LASTEDIT POSITION 13;
ALTER TABLE DK_DISCOUNTBONUSSETS ALTER COLUMN QUANTITY POSITION 14;
|
|
|
|
"TYPE" плохое поле, TYP сделайте |
|
|
|
Я с Димой поговорил, мы глянули в T_SQL type не было никогда резервируемым , в фб - начиная с версии интербэйс 6 оно перестало быть резервируемым (но осталось ключевым), вроде небыло никогда проблем с таким наименованием и он в табличке DK_DISCOUNTBONUSSETS уже его использовал - это принципиально? |
|
|
|
Лучше поменять, меньше головняка |
|
|
|
Оба поля? |
|
|
|
можете вообще не менять, я просто высказал свое мнение, я бы так не делал |
|
|
|
ну думаю тогда ты сделай так как в скрипте... чтоб уже работающий код не лопатить а на будущее будем придерживаться варианта с typ |
|
|
|
mebl_ib5.zip |
|