首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Snowflake-JDBC API从Snowflake存储过程中提取SQL查询

使用Snowflake-JDBC API从Snowflake存储过程中提取SQL查询
EN

Stack Overflow用户
提问于 2021-05-13 23:25:18
回答 1查看 123关注 0票数 0

我需要从雪花存储过程中提取SQL查询。我决定通过Snowflake-JDBC API提取SQL查询。

我已经分析了Snowflake-JDBC API的Java文档,但不幸的是找不到任何方法来从存储过程中提取SQL查询。我在Snowflake-JDBC API中发现了一个名为QueryExecDTO的类,它有getSqlText()方法,但在我关心的问题中没有用处(我必须从存储过程中提取SQL )。我也知道Snowflake-JavaScript API的Statement对象,它有getSqlText()方法来获取SQL查询的文本,但它只能在JavaScript中使用,因为它是JavaScript-API的一部分

有没有办法使用Snowflake-JDBC API从存储过程中提取SQL?

EN

回答 1

Stack Overflow用户

发布于 2021-05-14 00:25:44

您需要运行如下命令:

代码语言:javascript
复制
select get_ddl('procedure', '*proc_name*(*arg list*)');

要获取SP的文本,然后需要解析该文本以提取SQL语句。

如果您只想提取应该相对简单的SQL语句;但是,如果您想要解析这些语句,例如,列出正在使用的表,那么您将遇到困难。

解析SQL是非常复杂的(考虑到语言的灵活性),这可以从以下事实来说明:通用的SQL解析器非常少-而且那些实际工作的解析器并不便宜。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67521886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档