DESCRIBE TABLE¶
描述表中的列或表的暂存区属性的当前值以及默认值。
DESCRIBE 可以缩写为 DESC。
语法¶
DESC[RIBE] TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
参数¶
name
指定要描述的表的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
TYPE = COLUMNS | STAGE
指定是显示表的列,还是显示表的暂存属性(包括其当前值和默认值)。
默认:
TYPE = COLUMNS
使用说明¶
此命令不显示表的对象参数。请改用 SHOW PARAMETERS IN TABLE ...。
DESC TABLE 和 DESCRIBE VIEW 可互换。两条命令中任何一条都可以检索与语句中的条件相匹配的表或视图的详细信息;但是
TYPE = STAGE
不适用于视图,因为视图没有暂存区属性。如果在表上启用了表模式演化,则输出将包含
SchemaEvolutionRecord
列。此列通过 2023_08 捆绑包(正式启用) 引入。有关更多信息,请参阅 表模式演化。输出包括一个
POLICY NAME
列,用于指示在列上设置的 掩码策略。如果未在该列上设置掩码策略,或者 Snowflake 账户不是 Enterprise Edition 或更高版本,Snowflake 将返回
NULL
。
若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。
示例¶
创建示例表:
CREATE TABLE emp (id NUMBER NOT NULL PRIMARY KEY, fname VARCHAR(50), lname VARCHAR(50), location VARCHAR(100));
描述表中的列:
DESC TABLE emp;
描述表的暂存区属性:
DESC TABLE emp TYPE = STAGE;
确定在表列上设置的掩码策略:
DESC TABLE ssn_record; ---------------+-------------+--------+-------+---------+-------------+------------+--------+------------+---------+----------------------------+------------------+ name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain | ---------------+-------------+--------+-------+---------+-------------+------------+--------+------------+---------+----------------------------+------------------+ EMPLOYEE_SSN_1 | VARCHAR(32) | COLUMN | Y | [NULL] | N | N | [NULL] | [NULL] | [NULL] | MY_DB.MY_SCHEMA.SSN_MASK_1 | [NULL] | ---------------+-------------+--------+-------+---------+-------------+------------+--------+------------+---------+----------------------------+------------------+