如何获得主键(非指数)为特定的表中的Teradata的名单?获得PK的名单表中的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
你看着列UniqueOrPK? –
我得到了时态表的相同行为。 – Andrew
它看起来像态表得到了与两PK列+的TRANSACTIONTIME列'J'oin指数。而且它也是PrimaryKey的信息已经转移到了UniqueOrPK字段。看起来像是一个特殊的情况,用PK实施限制。顺便说一句。如果您尝试添加另一个连接索引,你会得到“在连接索引DDL,连接索引不包括TRANSACTIONTIME列的当前形式的错误。” – ULick