雪花; SQL 编译错误:无效的对象类型:GET_DDL 上的“EXTERNAL_TABLE”(“DATABASE”,“MyDb”)

Posted

技术标签:

【中文标题】雪花; SQL 编译错误:无效的对象类型:GET_DDL 上的“EXTERNAL_TABLE”(“DATABASE”,“MyDb”)【英文标题】:Snowflake ; SQL compilation error: Invalid object type: 'EXTERNAL_TABLE' on GET_DDL('DATABASE', 'MyDb') 【发布时间】:2019-10-16 08:46:55 【问题描述】:

在某些 Snowflake 数据库中,我可以毫无问题地运行 SELECT GET_DDL('Database', 'MyDatabase');,但在另一个数据库中,我收到以下错误消息

SQL 编译错误:无效的对象类型:'EXTERNAL_TABLE'

该数据库中可能定义了一个外部,但我仍想在数据库上递归提取 DDL...

有什么技巧可以用吗?

【问题讨论】:

【参考方案1】:

您可以尝试使用描述表上虚拟列的 DESCRIBE EXTERNAL TABLE。 DESCRIBE EXTERNAL TABLE

【讨论】:

【参考方案2】:

5.8 Release Notes - March 15-18, 2021

GET_DDL 函数:外部表支持

在此版本中,GET_DDL 函数支持返回可用于重新创建指定外部表的 DDL 语句。

请注意,目前,指定数据库或架构的 GET_DDL 输出不包括架构中包含的任何外部表。

【讨论】:

以上是关于雪花; SQL 编译错误:无效的对象类型:GET_DDL 上的“EXTERNAL_TABLE”(“DATABASE”,“MyDb”)的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中执行雪花 SQL 语句时出现雪花 python 错误

SQL 无效的对象名称“地址类型”

由于“指定的事件类型在指定的目标对象上无效”,无法在 SQL 表上创建触发器。

PL/SQL 编译失败,没有错误消息

替换雪花中的子查询

sql 编译无效对象