PostgreSQL错误
我尝试编写函数,该函数将通过输入参数向表中添加一条新记录 这是密码PostgreSQL错误,postgresql,function,Postgresql,Function,我尝试编写函数,该函数将通过输入参数向表中添加一条新记录 这是密码 CREATE OR REPLACE FUNCTION addRec( nameuser VARCHAR, resultName VARCHAR, contents bytea) RETURNS void AS $BODY$ DECLARE comm VARCHAR; BEGIN comm:='INSERT INTO Results_'||nameuser||'(resultName, user, c
CREATE OR REPLACE FUNCTION addRec(
nameuser VARCHAR,
resultName VARCHAR,
contents bytea)
RETURNS void AS
$BODY$
DECLARE
comm VARCHAR;
BEGIN
comm:='INSERT INTO Results_'||nameuser||'(resultName, user, contents) VALUES ('||resultName||', '||nameuser||', '||contents||');';
EXECUTE comm;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
此函数调用
选择addRecDocument('Fedya','Picture','323423423432')
但是我有一些错误
ERROR: column "picture" does not exist
LINE 1: SELECT addRecDocument ('Fedya', Picture, 323423423432)
^
ERROR: column "picture" does not exist
请告诉我,这是如何修复的,请先阅读
使用quote_literal
或quote_nullable
。来自:
返回适当引用的给定字符串以用作字符串文字
在SQL语句字符串中。嵌入的单引号和反斜杠
请注意,quote_literal在null输入时返回null;
如果参数可能为null,则引号_nullable通常更合适
'Picture
好的,我尝试了这个SELECT addRecDocument('Fedya','Picture','323423423432'),但是错误仍然存在。您定义的函数是addRec
,但是您正在调用addRecDocument
。好的,我重命名了这个SELECT addRec('Fedya','Picture','323423423432'),但是错误仍然存在。真奇怪。他试图找到这个名字的专栏。我很高兴能帮上忙。如果您有时间,请阅读;)
comm:='INSERT INTO Results_' || nameuser || '(resultName, user, contents) VALUES (' || quote_literal(resultName) || ', ' || quote_literal(nameuser) || ', ' || quote_literal(contents) || ');';