Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle / 4 сообщений из 4, страница 1 из 1
29.09.2016, 16:32
    #39318008
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle
Привет, коллеги!
Кто сталкивался с такой проблемой:
При генерации альтер-скрипта для таблиц, содержащих данные, PD их переименовывает типа
Код: plsql
1.
rename EMP to "tmp_EMP"


А дальше пересоздаёт таблицу уже с новыми полями и т.п.:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create table EMP
(
   EMPNO   NUMBER(18)   not null,
   ENAME   VARCHAR2(255),
   constraint PK_EMP primary key (EMPNO)
)
/


На этом месте при исполнении скрипта возникает ошибка "Такой объект уже существует".
А именно - PK_EMP! (в переименованной ранее таблице). Дальше скрипт не идет, т.к. таблица не создана.
Как обойти эту проблему?
...
Рейтинг: 0 / 0
06.10.2016, 08:46
    #39321567
Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle
В последовательность вызовов добавить:
Код: plsql
1.
2.
ALTER TABLE tmp_EMP RENAME CONSTRAINT PK_EMP
   TO tmp_PK_EMP;

И почему вопрос не в ветке по ORACLE?
...
Рейтинг: 0 / 0
08.10.2016, 22:03
    #39323331
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle
В BD правды нетВ последовательность вызовов добавить:
Код: plsql
1.
2.
ALTER TABLE tmp_EMP RENAME CONSTRAINT PK_EMP
   TO tmp_PK_EMP;

И почему вопрос не в ветке по ORACLE?

Привет!
Вы бы не задали свой вопрос, если бы внимательно прочли мой.
А он не столько про oracle, сколько про CASE-средство проектирования БД, которое работает не так, как я предполагал.
Возможно я где-то ошибся и более опытные члены "клуба" мне подскажут.

А конкретно моя проблема усугубляется тем, что возникает не всегда.
PD в подавляющем большинстве случаев генерирует DDL
Код: plsql
1.
DROP TABLE table_name CASCADE CONSTRAINTS;


и тогда проблема не проявляется. Закономерности я не понял.
...
Рейтинг: 0 / 0
17.10.2016, 20:13
    #39328522
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle
КурдльВы бы не задали свой вопрос, если бы внимательно прочли мой.
А он не столько про oracle, сколько про CASE-средство проектирования БД, которое работает не так, как я предполагал.
Возможно я где-то ошибся и более опытные члены "клуба" мне подскажут.

а вот хамить не стоит ;)
Вы спросили- вам указали на суть вашей проблемы. И указали совершенно правильно. Это ваша, проблема, если вы понять не можете, что вам сказали.
Смотрите - где-то есть настройки, чтобы и констрейны либо переименовывать, либо дропать.

А DROP TABLE - "решает" проблему (если это можно назвать решением), потому что констрейны дропаются вместе с таблицей.
Если у вас нет данных, которые нужно сохранить после изменения структуры таблиц- можете делать drop и create, зачем тогда alter Вам вообще нужен? )
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Sybase Powerdesigner генерирует некорректный альтер-скрипт для oracle / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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