PowerDesigner: запись типа дистрибутива Netezza через VBScript

Я работаю с PowerDesigner 16.5 и делаю физическую модель для Netezza 5.0.

Мне нужно разместить "Тип распространения" на вкладке "Параметры" для каждой таблицы, что, естественно, очень важно. Однако я ищу более организованный способ размещения моего типа распространения и списка столбцов.

Я хотел бы ввести эту информацию через VBScript. У меня, однако, возникают проблемы с поиском правильной команды для фактического использования этих опций через скрипт. Я обычно использовал бы GetPhysicalOptionValues, но "Тип распространения" на самом деле не кажется физическим вариантом. Это нормальный вариант. Документация для PowerDesigner не очень помогает.

TL; DR: ищу сценарий для моих ключей распространения Netezza через VBScript. Не могу найти правильную переменную.

2 ответа

Решение

Вы должны отредактировать DMBS и включить в Script/Objects/Table новый текстовый элемент с именем SqlDistributeOption, содержащий это:

SELECT   t.owner,t.tablename, 
    CASE 
        WHEN (m.relid isnull) THEN 'distribute on random '
        ELSE 
            CASE 
                WHEN (m.distseqno = 1) THEN 'distribute on hash ('
                ELSE ', ' 
            END 
                || m.attname 
                || 
            CASE 
                WHEN ( m.distseqno =
                        (
                          SELECT max(n.distseqno)
                          FROM _v_table_dist n
                          WHERE n.relid = m.relid)) THEN ')'
                ELSE '' 
            END 
    END 
FROM   _v_table t 
left outer join _v_table_dist m ON (m.relid = t.objid) 
WHERE   1 = 1 [ 
AND    t.owner = %.q:OWNER%] [ 
AND    t.tablename = %.q:TABLE%] 
ORDER BY  t.objid, m.distseqno

Это должно сделать это, по крайней мере, в моем случае

С уважением

Ваше решение направило меня на правильный путь. Это также помогло мне найти следующее: SetExtendedAttribute("Distribution","hash") SetExtendedAttribute("DistributionColumnList","ColumnName")

Другие вопросы по тегам