调用返回bigint的PostgreSql存储过程时出错
我创建了一个PostgreSql存储过程:调用返回bigint的PostgreSql存储过程时出错,sql,node.js,stored-procedures,postgresql-9.2,Sql,Node.js,Stored Procedures,Postgresql 9.2,我创建了一个PostgreSql存储过程: CREATE OR REPLACE FUNCTION "MySchema".UserAccountInsert( id bigint, lang varchar(3), nname varchar(40), email varchar(40), email_conf boolean, status s
CREATE OR REPLACE FUNCTION "MySchema".UserAccountInsert(
id bigint,
lang varchar(3),
nname varchar(40),
email varchar(40),
email_conf boolean,
status smallint,
status_update bigint,
creation bigint,
preferences json)
RETURNS bigint AS $BODY$
DECLARE
...
BEGIN
...
RETURN ret_id;
END; $BODY$
LANGUAGE plpgsql;
我试图用以下声明从pgAdmin III调用它
SELECT * from "MySchema".UserAccountInsert(
1000,"ENG","name1000","email1000","f",1,1391878008121,1391878008121,"{}");
但我得到了以下错误:
ERROR: column "ENG" does not exist
LINE 36: SELECT * from "MySchema".UserAccountInsert(1000,"ENG","name1...
调用此过程的正确方式是什么?最终,它将从节点的PG模块调用,因此我正在寻找合适的查询语句。谢谢。问题已随以下SQL语句消失:
SELECT "MySchema".UserAccountInsert(
1000::bigint,
'ENG'::varchar(3),
'name1000'::varchar(40),
'email1000'::varchar(40),
'f'::boolean,
1::smallint,
1391878008121::bigint,
1391878008121::bigint,
'{}'::json);
但我收到了另一条错误消息。我正在创造另一个 字符串文字必须放在单引号之间。使用“ENG”而不是“ENG”。手册中的更多详细信息:您应该像这样调用函数:选择UserAccountInsert..,而不是选择*from。。。