插入函数不在postgresql中执行

时间:2014-01-09 05:42:35

标签: sql postgresql

我在postgresql中创建插入函数,当此函数执行数据插入时,错误生成并在屏幕上显示此函数does not exit。查询中的数据插入有什么问题?

我的插入功能

CREATE OR REPLACE FUNCTION insertuserlogin(userloginidp integer, usercategoryidf integer, usertypeidf integer, usertypereferenceidf integer, loginname character varying, loginpassword character varying, menutypeidf integer, username character varying, dashboardconfig text, careprovideridf integer, isactive boolean)
  RETURNS void AS
$BODY$BEGIN
 INSERT INTO "tbuserlogin" VALUES (userloginidp,usercategoryidf,usertypeidf,usertypereferenceidf,loginname,loginpassword,menutypeidf,username,dashboardconfig,careprovideridf,isactive);
END$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION insertuserlogin(integer, integer, integer, integer, character varying, character varying, integer, character varying, text, integer, boolean)
  OWNER TO postgres;

插入查询

SELECT insertuserlogin(1,2,4,3,'fg','sdf',6,'err','fgsd',7);

错误消息

function insertuserlogin(integer, integer, integer, integer, unknown, unknown, integer, unknown, unknown, integer) does not exist
LINE 1: SELECT insertuserlogin(1,2,4,3,'fg','sdf',6,'err','fgsd',7);
           ^

提示:No function matches the given name and argument types. You might need to add explicit type casts.

如何在postgresql中的此函数中添加显式类型转换?

1 个答案:

答案 0 :(得分:5)

原始函数有11个参数,而

SELECT insertuserlogin(1,2,4,3,'fg','sdf',6,'err','fgsd',7);

只有10.看起来你忘记设置isactive(是真还是假) 尝试:

`SELECT insertuserlogin(1,2,4,3,'fg','sdf',6,'err','fgsd',7,'t');