我有我的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,姓名,电子邮件)",我该怎么办呢?
答案 0 :(得分:0)
也许?
do $$ begin perform adduser(idTopic, name, email); end; $$
虽然我不再了解java接口,但上面给出了对函数的调用,而没有使用“select”这个词。
-g