代码之家  ›  专栏  ›  技术社区  ›  Igor Konoplyanko

通过Web接口实现Java中的动态SQL和PL/SQL

  •  1
  • Igor Konoplyanko  · 技术社区  · 15 年前

    目前,我正在为基于Web的应用程序制作SQL命令行界面。它应该大致像sqlplus。 我遇到了一个如何执行SQL的问题。它们可以是SQL和/或PL/SQL。

    首先,我认为我可以(通过“;”或“;/”)拆分它们,并分别检测它是SQL select还是delete/update/insert还是pl/sql。

    现在我找不到pl/sql backus_“naur form来生成regexp。有没有更容易的方法?

    一般来说,最好的逻辑方法是什么?

    蒂亚

    2 回复  |  直到 13 年前
        1
  •  2
  •   FerranB Tom    15 年前

    我认为最好的方法是 ANTLR 哪个有 PLSQL grammar . 您可以为Java生成代码 other languages .

        2
  •  0
  •   James Wang    13 年前

    使用regexp在SQL脚本中分离SQL语句和plsql几乎是不可能的。

    declare
    begin
    select sysdate from dual;
    
    dbms.output('hello');
    end;
    /
    

    您对如何使用regexp识别这样一个简单的plsql代码有什么想法吗? A SQL Parser 这就是你需要达到的目标 an article 这可能会有所帮助。