Snowflake cloud data platform 雪花-检查给定架构是否为空的查询,即架构中没有对象
我试图创建一个查询,它可以判断给定的雪花模式是否为空,以便可以删除它 我创建了一些SQL,它们查询Snowflake cloud data platform 雪花-检查给定架构是否为空的查询,即架构中没有对象,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,我试图创建一个查询,它可以判断给定的雪花模式是否为空,以便可以删除它 我创建了一些SQL,它们查询信息\u模式视图-表、视图、序列,以检查是否创建了任何对象。以这种方式,我必须创建多个查询,如果给定模式中有表/视图,则这些查询将返回标志值。此查询变得冗长且多次命中 我正在寻找一个查询,它可以告诉我给定的模式是否为空 我正在寻找一个查询,它可以告诉我给定的模式是否为空 您可以编写单个查询来搜索: 或者使用: 警告 这两种方法都可能返回假阴性,因为您只能看到您有权访问的对象 SET schema
信息\u模式
视图-表、视图、序列,以检查是否创建了任何对象。以这种方式,我必须创建多个查询,如果给定模式中有表/视图,则这些查询将返回标志值。此查询变得冗长且多次命中
我正在寻找一个查询,它可以告诉我给定的模式是否为空
我正在寻找一个查询,它可以告诉我给定的模式是否为空
您可以编写单个查询来搜索:
或者使用:
警告强> 这两种方法都可能返回假阴性,因为您只能看到您有权访问的对象
SET schema_name = 'MY_SCHEMA';
SELECT $schema_name AS schema_name,
CASE WHEN EXISTS (
SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ILIKE $schema_name
UNION ALL
SELECT 1 FROM INFORMATION_SCHEMA.SEQUENCES WHERE SEQUENCE_SCHEMA ILIKE $schema_name
UNION ALL
-- all information_schema tables tasks/sequences/functions/streams/...
) THEN 0
ELSE 1
END is_empty;
SHOW TABLES IN SCHEMA 'schema_name';
SHOW TASKS IN SCHEMA 'schema_name;
-- ... all SHOW commands
SELECT 1 FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
UNION ALL
SELECT 1 FROM TABLE(RESULT_SCAN(LAST_QUERY_ID(-2)))
...
-- if returns 1 it means that at least one SHOW command returned rows
-- therefore it contains object in schema