我正在使用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
这应该可以做到,至少在我的情况下
问候