【发布时间】:2021-05-05 10:20:44
【问题描述】:
在 Snowflake 中,我使用以下 SQL 查询检索不同的视图:
SELECT * FROM "myDatabase"."mySchema"."VIEWS"
这会返回一个包含这些列的表:
TABLE_ID
TABLE_NAME
TABLE_SCHEMA_ID
TABLE_SCHEMA
TABLE_CATALOG_ID
TABLE_CATALOG
TABLE_OWNER
VIEW_DEFINITION
对于每个VIEW_DEFINITION 列条目,我正在尝试提取所有字符串<Schema_Name>.<View_Name>(或至少<Schema_Name>)。
是否可以通过 SQL 查询(或任何其他方式)来做到这一点?
编辑
我使用初始查询得到的表如下:
| TABLE_ID | TABLE_NAME | TABLE_SCHEMA_ID | TABLE_SCHEMA | TABLE_CATALOG_ID | TABLE_CATALOG | TABLE_OWNER | VIEW_DEFINITION |
|---|---|---|---|---|---|---|---|
| 0001 | MY_TABLE_NAME | 99 | MY_TABLE_SCHEMA | 20 | PMY_TABLE_CATALOG | MY_OWNER_VIEWS_ADMIN | … |
VIEW_DEFINITION 列包含如下查询:
"CREATE OR REPLACE VIEW My_Table_Schema_VIEWS.My_Table_Name AS
WITH STUDY_SITE_SCOPE AS (
SELECT
...
FROM (
SELECT
A.SUBJECT_NUMBER
, A.SUBJECT_STATUS
FROM <Schema_Name>.<View_Name_1> X
JOIN <Schema_Name>.<View_Name_2> Y
...
)
JOIN (
SELECT
...
FROM <Schema_Name>.<View_Name_3> X
JOIN <Schema_Name>.<View_Name_4> Y
...
)
..."
我试图从这个VIEW_DEFINITION 中提取所有<Schema_Name>.<View_Name_XX> 字符串(或至少是<Schema_Name>)。
【问题讨论】:
-
能否请您添加输入和所需的输出数据?这将有助于更好地了解您的目标。
-
@Marcel 查看编辑
标签: sql snowflake-cloud-data-platform