snowflake-cloud-data-platform - 如何找到针对数据库/模式运行的 DDL 语句
问题描述
我有特定的要求,我需要在特定时间段内只找到针对我的雪花数据库/模式运行的 DDL,我们如何使用 query_history 或任何其他方法找到,知道吗?
解决方案
可以使用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 命令类,使用了通配符模式CREATE%
或ALTER%
. 可以根据具体需要进一步调整。
推荐阅读
- javascript - 如何在 jQuery 中触发和处理表单提交?
- google-apps-script - 从自定义菜单在客户端浏览器中打开不同的电子表格
- android - 您如何获取本地时间并且在时间更改时不更新它?
- elasticsearch - 如何在字段上进行敏感和不敏感的大小写搜索
- python - 为什么熊猫布尔过滤会导致浮点数?
- java - 在 Robolectric 上运行第一次测试时出现问题
- powershell-3.0 - 如何检查Powershell中是否存在文件?
- node.js - 如何使用 Node.js 在 MS Bot Framework v4 中将对话数据记录到本地存储中
- c# - 尝试解析 JSON 时出现 JsonToken.StartArray 错误
- ruby-on-rails - 如何在 ruby 2.3.3 rails 5.2.0 中手动设置 css 和 js?