【发布时间】:2021-12-13 11:42:27
【问题描述】:
问题:我不小心使用 CREATE OR REPLACE VIEW 覆盖了 SnowFlake 中的视图。 问题:是否有办法检索旧视图,即 SQL 代码?
【问题讨论】:
标签: snowflake-cloud-data-platform
问题:我不小心使用 CREATE OR REPLACE VIEW 覆盖了 SnowFlake 中的视图。 问题:是否有办法检索旧视图,即 SQL 代码?
【问题讨论】:
标签: snowflake-cloud-data-platform
您可以使用QUERY_HISTORY 查找以前用于创建查询的 DDL。
您可以使用 QUERY_TYPE 过滤结果,这将帮助您快速找到正确的查询类型。
【讨论】:
如果您使用 QUERY_TYPE > CREATE 在查询历史记录选项卡中找不到它,您可以在查询历史记录中搜索过去 365 天的数据。上一篇文章有要运行的 SQL:
View DDL history of CREATE VIEW statement in Snowflake
请注意,如果您的帐户在过去一年中运行了大量查询,则这是一个大查询。如果您了解更多信息(例如创建月份),可以在必要时对其进行修改以减少扫描。
如果您想要一种完全非正式且轻量级的方式来对您的对象进行版本控制,我写了一个供内部使用,我决定分享。它是一个表和存储过程。使用对象类型和三部分名称调用存储过程,它会在表中添加一个版本行。如果它找到一个以前的版本,它会将旧版本标记为从 current_timestamp 开始已过时,并将新版本的编号加 1。
https://github.com/GregPavlik/SimpleVersioning/blob/main/install.sql
【讨论】: