Postgresql 如何通过mybatis执行匿名过程

Postgresql 如何通过mybatis执行匿名过程,postgresql,stored-procedures,mybatis,Postgresql,Stored Procedures,Mybatis,我使用mybatis-3.2.4和PostgreSQL。我尝试执行匿名过程,但失败。以下是我的演示sql: <delete id = "deleteSomeTable" statementType = "CALLABLE"> {call declare begin delete from test1; delete from test2; end } </delet

我使用mybatis-3.2.4和PostgreSQL。我尝试执行匿名过程,但失败。以下是我的演示sql:

<delete id = "deleteSomeTable" statementType = "CALLABLE">
    {call
        declare
        begin
            delete from test1;
            delete from test2;
        end
     }
</delete>
第51个字符是第一个分号


我如何解决这个问题?或者有人给我看一个通过mybatis执行匿名过程的演示吗?

我想你只需要像这样编写declare语句

declare
    begin
        delete from test1;
        delete from test2;
    end

很可能您不能,或者至少必须使用本机SQL。请记住,PostgreSQL不允许PL/PgSQL内联,您需要一个
DO
块或一个显式函数。您需要/需要匿名过程的更大背景是什么?@CraigRinger我使用了一个DO块,非常感谢@我不想在数据库中存储过程,所以我在java程序中嵌入了一个匿名过程。
declare
    begin
        delete from test1;
        delete from test2;
    end