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



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

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

我想通过 VBScript 输入此信息。但是,我无法找到正确的命令来通过脚本实际解决这些选项。我通常会使用"GetPhysicalOptionValues",但"分发类型"实际上似乎不是一个物理选项。这是一个正常的选择。PowerDesigner的文档似乎没有多大帮助。

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

您的解决方案使我走上了正确的道路。它还帮助我找到了这些:SetExtendedAttribute("Distribution","hash")SetExtendedAttribute("DistributionColumnList","ColumnName")

您应该编辑DMBS,并在脚本/对象/表中包含一个名为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

这应该可以做到,至少在我的情况下

问候

相关内容

  • 没有找到相关文章

最新更新