bra*_*ter 14 sql oracle syntax verification jdbc
我有一个SQL语句(对于Oracle数据库)如果有效则需要很长时间才能运行.如果它无效,则立即返回错误.
我想检查语法是否有效而不运行语句(通过JDBC),例如在'check statement'按钮后面.是否有独立于供应商的方式?我首先想到的只是将查询定义为PreparedStatement似乎不会导致任何类型的编译或错误检查.
Ran*_*ndy 11
可能会为声明发布解释计划会给你有用的结果.
另一个想法 - 但可能更难的是编辑要添加的查询(和rownum <1)或其他东西以使其快速运行
这更像是一个hack而不是一个真正的答案,但你可以运行一个总是返回一行和一列的查询:
SELECT ( EXISTS (SELECT 1 FROM dual)
OR
EXISTS (your Query here)
) AS result
FROM dual
Run Code Online (Sandbox Code Playgroud)
TRUE如果您的查询有效,则应该返回,如果无效则引发错误.