如何获取Teradata中特定表的主键列表(而不是索引)?
我已经创建了表
CREATE MULTISET TABLE TBL_TEMPORAL_TRANSACTTIME
(
ParID int not null,
DataSourceTypeCd VARCHAR(10) not null,
TxnPrd PERIOD(TIMESTAMP(6) WITH TIME ZONE) TITLE 'Transaction Period' NOT NULL AS TRANSACTIONTIME,
PRIMARY KEY(ParID, DataSourceTypeCd )
) PRIMARY INDEX (ParID);
我需要一些查询来返回主键的列 所以我想得到'ParID'和'DataSourceTypeCd'列。 任何人都可以帮助我吗?
我试过
SELECT *
FROM DBC.IndicesV
WHERE TABLENAME='TBL_TEMPORAL_TRANSACTTIME'
AND IndexType = 'K'
;
但它给了我空洞的结果。
SELECT IndexType, ColumnName, UniqueOrPK
FROM DBC.IndicesV
WHERE TABLENAME='TBL_TEMPORAL_TRANSACTTIME';
返回:
IndexType ColumnName UniqueOrPK
P ParID
J ParID K
J TxnPrd K
J DataSourceTypeCd K
答案 0 :(得分:0)
Teradata 15.10文档;数据字典,第3章:视图参考,主题 IndicesV [X] (页164),标题 IndexType 表示IndexType的值K
反映主键。< / p>
以下将给出PK列:
SELECT ColumnName
FROM DBC.IndicesV
WHERE TABLENAME='TBL_TEMPORAL_TRANSACTTIME'
AND IndexType = 'K'
;
建议您添加AND DatabaseName = 'YourDBName'
以更具体地了解您的表格。