【发布时间】:2015-11-20 14:43:14
【问题描述】:
我想创建一个更新表格的函数。
我正在尝试运行它:
SELECT insert_function('asda', 1 ,1 , 'asd', 1)
但我得到了错误:
LINE 3 VALUES("asda","1","1","asd","1") 列不存在。
当我尝试 rot run 时:
SELECT insert_function('1', 1 ,1 , '1', 1)零长度分隔 """""""附近的标识符第 3 行值(""1"","1","1",""1"","1") (^在第一项)
CREATE TABLE IF NOT EXISTS commits (
id SERIAL PRIMARY KEY,
goo CHAR(64) NOT NULL,
foo INTEGER NOT NULL,
bla INTEGER NOT NULL,
ma CHAR(512) NOT NULL,
fgt INTEGER NOT NULL
);
CREATE OR REPLACE FUNCTION insert_function(goo char(64), foo INTEGER, bla INTEGER, ma CHAR(512), fgt INTEGER)
RETURNS VOID AS
$func$
BEGIN
EXECUTE format('
INSERT INTO commits
VALUES(%I, %I, %I, %I, %I)',
goo , foo , bla , ma , fgt );
END
$func$ LANGUAGE plpgsql;
您能告诉我如何插入值吗?如何使用EXECUTE format 编写函数?
【问题讨论】:
标签: sql postgresql sql-insert postgresql-9.3 execute