【发布时间】:2020-06-04 16:14:49
【问题描述】:
我在 Snowflake 中创建了两个表。
create or replace TRANSIENT TABLE TESTPARENT (
COL1 NUMBER(38,0) NOT NULL,
COL2 VARCHAR(16777216) NOT NULL,
COL3 VARCHAR(16777216) NOT NULL,
constraint UNIQ_COL3 unique (COL3)
);
create or replace TRANSIENT TABLE TESTCHILD3 (
COL_A NUMBER(38,0) NOT NULL,
COL_B NUMBER(38,0) NOT NULL,
ABCDEF VARCHAR(16777216) NOT NULL,
constraint FKEY_1 foreign key (COL_A, COL_B) references TEST_DB.PUBLIC.TESTPARENT1(COL1,COL2),
constraint FKEY_2 foreign key (ABCDEF) references TEST_DB.PUBLIC.TESTPARENT(COL3)
);
现在我想执行一个查询并查看FKEY_2 FOREIGN KEY 中涉及的列的名称
在表TESTCHILD3 中,但似乎没有保留此信息的数据库表/视图。我可以找到 UNIQUE KEY & PRIMARY KEY 的列名,但 FOREIGN KEYS 没有。
编辑
我已经尝试过INFORMATION_SCHEMA.TABLE_CONSTRAINTS,以及INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 和所有其他系统表。没有运气。只有DESC TABLE 给了我一些与CONSTRAINTS 和COLUMNS 相关的信息,但也缺少FOREIGN KEY CONSTRAINTS 信息。
【问题讨论】:
标签: data-warehouse snowflake-cloud-data-platform snowflake-schema