powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Удаление системного объекта
3 сообщений из 3, страница 1 из 1
Удаление системного объекта
    #37269669
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте всем!

Обстановка: DB2 WSE 8.2.(последний фикспак). Я тут меняю структуру одной из таблиц в БД (добавляю новые поля). Скрипт изменений выполняется по такому плану:
1. Удаляю все связанные с таблицей объекты (ключи, ограничения, индексы, триггеры, view и др.).
2. Переименовываю таблицу.
3. Создаю таблицу с новой структурой и копирую данные из старой.
4. Создаю все ключи, ограничения, индексы, триггеры и др.

Пункт 1 у меня проходит не полностью, поэтому и rename не проходит:
Код: plaintext
1.
2.
3.
4.
SQL0750N  Исходную таблицу нельзя переименовать, так как на нее есть ссылки в 
производной таблице, материализованной таблице запроса, триггере, функции SQL, 
методе SQL, проверочном ограничении или реляционном ограничении.  
SQLSTATE=42986
Не могу удалить выражение по полю RESYEAR:
Код: plaintext
1.
2.
3.
4.
    ...
    RESDAT     date          not null,
    RESYEAR    smallint      not null generated always as (cast((year(RESDAT)) as SYSIBM.smallint)),
    ...

Скрипт
Код: plaintext
ALTER TABLE RESINS DROP CHECK SQL100617120321240@
выдает ошибку:
Код: plaintext
1.
2.
SQL0607N  "DROP CONSTRAINT" не определена для системных объектов.  
SQLSTATE=42832

В чем может быть проблема?

С уважением, Семен Попов
...
Рейтинг: 0 / 0
Удаление системного объекта
    #37269761
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

У этого check constraint SYSCAT.CHECKS.TYPE = 'S', т.е. системное, которое нельзя удалять явно.
Надо:
Код: plaintext
alter table resins alter resyear drop expression
...
Рейтинг: 0 / 0
Удаление системного объекта
    #37269902
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinЗдравствуйте.

У этого check constraint SYSCAT.CHECKS.TYPE = 'S', т.е. системное, которое нельзя удалять явно.
Надо:
Код: plaintext
alter table resins alter resyear drop expression

Спасибо. Помогло.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Удаление системного объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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