Я хочу создать функцию, которая обновит таблицу.INSERT EXECUTE FORMAT Postgresql string
Я пытаюсь запустить его:
SELECT insert_function('asda', 1 ,1 , 'asd', 1)
Но я получаю ошибку:
LINE 3 VALUES("asda","1","1","asd","1") column doesn't exist.
Когда я пытаюсь гниль пробег:
SELECT insert_function('1', 1 ,1 , '1', 1)
zero-length delimited identifier at near """""""LINE 3 VALUES(""1"","1","1",""1"","1") (^at the first item)
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
?
@ user565447 Проверить обновленные – lad2025