取消语句¶
取消语句的推荐方法是,使用运行查询的应用程序的界面(例如 Snowflake Web 界面中的 Worksheet),或者使用由 Snowflake ODBC 或 JDBC 驱动程序提供的取消 API。但是,在某些情况下,必须使用 SQL 取消查询。
Snowflake 提供以下函数,以支持使用 SQL 取消正在运行的/活跃的语句:
示例¶
以下 Java 示例代码使用 SYSTEM$CANCEL_ALL_QUERIES 和其他 Snowflake 函数在 5 秒钟后取消当前会话中正在运行的语句:
示例代码首先对 CURRENT_SESSION 发出 SQL 命令,以获取会话标识符。
然后,它会创建一个任务,在 5 秒钟后执行。此任务使用会话标识符作为 SYSTEM$CANCEL_ALL_QUERIES 的参数。
然后,使用 GENERATOR 表函数执行长时间运行的语句,在 120 秒时限内生成行。