如何在java中调用SQL函数? (拨打电话'选择')

时间:2014-05-15 09:13:22

标签: java sql function postgresql

我有我的SQL函数(数据库PostgreSQL):

CREATE OR REPLACE FUNCTION adduser(idTopic integer, name character varying, email character varying)
  RETURNS boolean AS
$BODY$
DECLARE checkName BOOLEAN;
    BEGIN

INSERT INTO Users (idTopic, name, email)
    VALUES (idTopic, name, email);

select (users.name=$2) into checkName from users where users.email = $3;

 return checkName;

    END;

$BODY$
  LANGUAGE plpgsql VOLATILE

我可以从java调用这个函数:

@Override
  public void add(User user) {

  String queryAdd = "select adduser(" + user.getTopic().getId() + ",'" + user.getName() + "','" + user.getEmail() + "')";

        Query query = getCurrentSession().createSQLQuery(queryAdd);
        query.list();

  }

但是我需要查询没有单词'选择',我需要" adduser(idTopic,姓名,电子邮件)",我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

也许?

do $$ begin perform adduser(idTopic, name, email); end; $$

虽然我不再了解java接口,但上面给出了对函数的调用,而没有使用“select”这个词。

-g