java - 解析 PL/SQL 代码以检查语法和语义错误

标签 java oracle plsql

请考虑以下场景:

  • 我在用户界面上有一个文本区域和一个按钮
  • 用户将在文本区域中输入一个 PL/SQL block 。
  • 当用户按下按钮时,我想在不执行的情况下检查该 block 中的语法和语义错误。

我非常想要一个无需安装任何东西的解决方案。

环境信息:

  1. Java 1.6.31
  2. Oracle 数据库 11g

最佳答案

SQL> explain plan for select from dual;
explain plan for select from dual
                        *
ERROR at line 1:
ORA-00936: missing expression


SQL> explain plan for select * from dual;

Explained.

declare
  c integer := dbms_sql.open_cursor();
begin
 dbms_sql.parse(c, 'select * emp', dbms_sql.native);
 dbms_sql.close_cursor(c);
end;
/
Error at line 1
ORA-00923: FROM keyword not found where expected
ORA-06512: at "SYS.DBMS_SQL", line 1053
ORA-06512: at line 4

或点击http://www.softpedia.com/get/Internet/Servers/Database-Utils/EasySQL-Checker-for-Oracle.shtml

关于java - 解析 PL/SQL 代码以检查语法和语义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27104815/

相关文章:

oracle - 从数据库链接在 oracle 表上使用分区

sql-server - 不同DBMS之间的数据迁移

sql - 我如何在更新前后验证一行

sql - 按字符串长度排序,然后按 pl sql 中的单个字母 desc 排序

sql - Oracle 克隆用户的方法

java - MySQL连接在线数据库错误

java - 如何将二进制转换为十进制 我有 2 的 10 次方的代码 我需要 2 的 32 次方的帮助

java - Android Studio 意外的顶级异常 :

java - 避免由于相同参数类型导致构造函数冲突的最佳实践?

Oracle - SELECT-INSERT 锁定模式