加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何调用函数PostgreSQL

发布时间:2020-12-13 16:39:59 所属栏目:百科 来源:网络整理
导读:我试图用PostgreSQL使用一个函数来保存一些数据。这是创建脚本: -- Function: "saveUser"(integer,character varying,character varying)-- DROP FUNCTION "saveUser"(integer,character varying);CREATE OR REPLACE FUNCTION "saveUser"("pUserID" integer
我试图用PostgreSQL使用一个函数来保存一些数据。这是创建脚本:
-- Function: "saveUser"(integer,character varying,character varying)

-- DROP FUNCTION "saveUser"(integer,character varying);

CREATE OR REPLACE FUNCTION "saveUser"("pUserID" integer,"pName" character varying,"pLastName" character varying,"pUserName" character varying,"pPassword" character varying,"peMail" character varying)
  RETURNS boolean AS
$BODY$
BEGIN
SELECT 1
FROM "USERS"
WHERE "userID" = $1;

IF FOUND THEN
UPDATE "USERS" 
    SET     "name" = $2,"lastName" = $3,"userName" = $4,"password" = $5,"eMail" = $6
WHERE "userID" = $1;
ELSE
    INSERT INTO "USERS"
    ("name","lastName","userName","password","eMail")
    VALUES
        ($2,$3,$4,$5,$6);
END IF;
END;$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION "saveUser"(integer,character varying) OWNER TO postgres;

PostreSQL文档指出,要调用不返回任何结果集的函数,仅写入其名称和属性就足够了。所以我尝试调用这样的功能:

"saveUser"(3,'asd','asd');

但是我收到以下错误:

ERROR:  syntax error at or near ""saveUser""
LINE 1: "saveUser"(3,'asd')
     ^

********** Error **********

ERROR: syntax error at or near ""saveUser""
SQL state: 42601
Character: 1

我有其他功能返回结果集。我使用SELECT * FROM“fnc”(…)来调用它们,它可以工作。为什么我得到这个错误?

编辑:我正在使用pgAdmin III查询工具,并试图在那里执行SQL语句。

函数调用仍然应该是一个有效的SQL语句:
SELECT "saveUser"(3,'asd');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读