【问题标题】:How can I find DDL statements run against Database/schemas如何找到针对数据库/模式运行的 DDL 语句
【发布时间】:2021-06-20 21:41:08
【问题描述】:

我有特定的要求,我需要在特定时间段内只找到针对我的雪花数据库/模式运行的 DDL,我们如何使用 query_history 或任何其他方法找到,知道吗??

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    可以使用QUERY_HISTORY:

    SELECT *
    FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())
         -- END_TIME_RANGE_START/END_TIME_RANGE_END  to get specific time range
    WHERE DATABASE_NAME ILIKE '<db_name>'
      AND SCHEMA_NAME   ILIKE '<schema_name>'
      AND QUERY_TYPE    ILIKE ANY ('CREATE%', 'ALTER%', 'DROP%', 'DESCRIBE%');
    

    QUERY_TYPE 列包含更具描述性的值,例如:CREATE_VIEW/CREATE_TABLE_AS_SELECT/CRATE_TABLE/ALTER_TABLE_ADD_COLUMN 等。

    要检索DDL commands 的整个类,使用了通配符模式CREATE%ALTER%。可以根据具体需要进一步调整。

    【讨论】:

    • 谢谢@Lukasz Szozda
    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 2016-04-03
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 2012-04-11
    相关资源
    最近更新 更多