Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных / 7 сообщений из 7, страница 1 из 1
12.01.2016, 10:07
    #39145161
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Саш, вот кусок скрипта
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE TABLE TBL_LABSTUD_URINE_COLOR (
    LS_URCOLOR_ID                    INTEGER NOT NULL,
    LS_URCOLOR_DATE                  DMN_DATETIME /* DMN_DATETIME = TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL */,

-- skiped

    LS_URCOLOR_DELETED_REC           DMN_BOOL /* DMN_BOOL = SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (0,1)) */
);

SET BLOBFILE 'D:\Archive\Codetyphon_code\Andrology_5x\scripts\unicode_base_utf8_wo_bom_2016_01_12.lob';

UPDATE OR INSERT 
INTO TBL_LABSTUD_URINE_COLOR (LS_URCOLOR_ID, LS_URCOLOR_DATE, LS_URCOLOR_COLORNAME,
 LS_URCOLOR_NOTE, LS_URCOLOR_KIND_ACTION, LS_URCOLOR_INS_UPD_DEL_USER, LS_URCOLOR_INS_UPD_DEL_ROLE,
 LS_URCOLOR_INS_UPD_DEL_DATETIME, LS_URCOLOR_DELETED_REC) 
VALUES (1, '2016-01-08 19:24:19', 'Соломенно-жёлтый', NULL, 'I', 'SYSDBA', 'ADMINISTR', '2016-01-08 19:24:19', 0);

REINSERT (2, '2016-01-08 19:25:00', 'Темно-жёлтый', :h0_3B, 'U', 'SYSDBA', 'ADMINISTR', '2016-01-08 19:32:02', 0);

-- skiped

/******************************************************************************/
/***                              Primary keys                              ***/
/******************************************************************************/
-- skiped

ALTER TABLE TBL_LABSTUD_URINE_COLOR ADD CONSTRAINT PK_TBL_LABSTUD_URINE_COLOR PRIMARY KEY (LS_URCOLOR_ID);


естественно, получаю отлуп в exec script
авторUnsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
Dynamic SQL Error.
Primary key required on table TBL_LABSTUD_URINE_COLOR.

Это у меня звезды не сложились какие-то галки при выгрузке не выставлены или где? Скрипт в аттаче...

пысы. Кстати, созданная в редакторе IBE$TODO почему-то не попала в скрипт о_О
=================
Док.

Win7 Ultim x64, Deb 7.6 i386 (Deb 8.2 i386): FB 2.5.5.26952, диалект 3, SS(win)/CS(Deb), Lazarus 1.5; FPC 2.7.1, UIB
...
Рейтинг: 0 / 0
12.01.2016, 10:16
    #39145167
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Перенес блок инсерта данных в конец скрипта - база воссоздалась без проблем
...
Рейтинг: 0 / 0
12.01.2016, 10:19
    #39145174
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Докв скрипте ПК создаются позже инсерта данных

Это сделано для ускорения вставки данных ибо индекс её замедляет. Для вновь создаваемых таблиц UPDATE OR INSERT редко имеет смысл, хотя если есть записи с дубликатами ПК, тогда может быть.
...
Рейтинг: 0 / 0
12.01.2016, 10:29
    #39145184
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Симонов ДенисЭто сделано для ускорения вставки данных ибо индекс её замедляет
... что приводит к прерыванию процесса восстановления базы из скрипта. Как тогда быть, ручками и по кускам?
...
Рейтинг: 0 / 0
12.01.2016, 10:37
    #39145202
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Док,

а зачем там UPDATE OR INSERT вместо INSERT?
...
Рейтинг: 0 / 0
12.01.2016, 11:02
    #39145223
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Симонов Денис,

хм-м-м... Очевидно, при выгрузке базы вместе с данными надо снимать галку тут?
...
Рейтинг: 0 / 0
12.01.2016, 11:21
    #39145246
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных
Да, Денис, ты прав. Без этой галки exec script воссоздал базу без проблем. "Это на бага, это - фича" (с)

Вопрос снят.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IBE 2016.1.4.1: в скрипте ПК создаются позже инсерта данных / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]