2015-07-10 3 views
1

Я использую PowerDesigner 15.2 для моделирования базы данных PostgreSQL, но я не могу связать последовательности с ... первичными ключами чтения в Интернете, что:Как связать последовательность с столбцом в PowerDesigner?

«Для того, чтобы связать последовательность с колонкой, дважды щелкните столбец Затем на вкладке «Общие» укажите имя последовательности ».

, но я уже сделал это ...

Sequence associated

проблема заключается в том, что, когда я генерировать базы данных, последовательности просто созданы, но не связанные с колонкой ...

create sequence SQ_CARGO; 

create table CARGO (
    ID     INT4     not null, 
    NOME     VARCHAR(20)   not null, 
    ROLE     VARCHAR(100)   not null, 
    constraint PK_CARGO primary key (ID) 
); 

Текущая СУБД в Powerdesigner: PostgreSQL 8 (но я использую postgresql 9.4)

Кто-нибудь знает, как это сделать? или иначе я буду вынужден устанавливать это вручную для каждой таблицы:

ALTER TABLE cargo ALTER COLUMN ID SET DEFAULT NEXTVAL('SQ_CARGO'::regclass); 
+0

Я забыл прокомментировать, что Postgres 8 является последней опцией Postgresql в моем Powerdesigner 15.2, но я использую postgresql 9.4 на своем компьютере –

ответ

1

Чтобы решить эту проблему, я написал этот код и заменить в СУБД свойства, значение: (Script-> Objects-> Таблица-> Создать).

create [%Temporary% ]table [%QUALIFIER%]%TABLE% (%TABLDEFN%) 
[%OPTIONS%]; 

.foreach_item(Columns) 
    .if (%COLNNO%==1) && (%Primary% == TRUE) && (%SQNC% != "") 
     ALTER TABLE [%QUALIFIER%]%TABLE% ALTER COLUMN %COLUMN% SET DEFAULT 
nextval('[%QUALIFIER%]%SQNC%') 
    .endif 
.next(\n) 

Пользуясь случаем, у меня возникла проблема при создании кода SEQUENCE.

Я не могу получить код, который будет создан с ВЛАДЕЛЬЦЕМ префиксного объекта.

например: код генерируется следующим образом:

CREATE SEQUENCE TABLE_SQ; 

И это должно быть сгенерирована следующим образом:

CREATE SEQUENCE OWNER.TABLE_SQ; 
1

@Gilvan: Вы должны выбрать владельца на "New Sequence" в окне «Владелец».

1

был ошибкой! скачать новую версию и отлично работает.

Смежные вопросы