2014-12-12 13 views
0

PowerDesigner 16.5에서 작업 중이며 Netezza 5.0의 실제 모델을 만들고 있습니다.PowerDesigner : VBScript를 통해 Netezza 배포 유형을 작성하십시오.

당연히 각 테이블의 '옵션'탭에 '배포 유형'을 배치해야합니다. 이는 매우 중요합니다. 그러나 나는 배포 형식과 열의 목록을 배치하는 좀 더 체계적인 방법을 찾고 있습니다.

이 정보는 VBScript를 통해 입력하고 싶습니다. 그러나 나는 스크립트를 통해 이러한 옵션을 실제로 처리 할 올바른 명령을 찾는 데 어려움을 겪고 있습니다. 나는 일반적으로 'GetPhysicalOptionValues'를 사용 하겠지만 'Distribution Type'은 실제 옵션이 아닌 것 같습니다. 그것은 정상적인 선택입니다. PowerDesigner의 설명서가별로 도움이되지 않습니다.

TL : DR : VBScript를 통해 Netezza 배포 키를 스크립팅합니다. 올바른 변수를 찾을 수 없습니다.

답변

0

당신은 DBMS에 편집 및/오브젝트/테이블을 스크립트에 포함하는 새로운 텍스트 항목의 이름 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 

+0

감사합니다. 나는 이것을 월요일에 시험 할 것이다. –

1

당신의 해결책은 나를 올바른 길로 인도합니다. 또한 다음을 찾는데 도움이되었습니다. SetExtendedAttribute ("Distribution", "hash") SetExtendedAttribute ("DistributionColumnList", "ColumnName")