PowerDesigner:通过VBScript编写Netezza分发类型

时间:2014-12-12 09:02:01

标签: vbscript netezza powerdesigner

我正在使用PowerDesigner 16.5,并且正在为Netezza 5.0制作物理模型。

我需要放置一个'分发类型'在'选项'每个表的选项卡,这自然非常重要。然而,我正在寻找一种更有条理的方式来放置我的分发类型和列表。

我想通过VBScript输入此信息。但是我很难找到通过脚本实际解决这些选项的正确命令。我通常会使用' GetPhysicalOptionValues'但是“分发类型”'实际上似乎并不是一个物理选择。这是一个正常的选择。 PowerDesigner的文档似乎没什么帮助。

TL; DR:希望通过VBScript编写我的Netezza分发密钥。无法找到正确的变量。

2 个答案:

答案 0 :(得分:1)

你的解决方案让我走上了正确的道路。它还帮助我找到了这些: SetExtendedAttribute("分布""散列&#34) SetExtendedAttribute(" DistributionColumnList""的ColumnName&#34)

答案 1 :(得分:0)

您应该编辑DBMS并在Script / Objects / Table中包含一个名为Sql Distribute Option的新文本项,其中包含:

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

应该这样做,至少在我的情况下

此致