我试图编写一个函数,在我的表中基于表内的值向column3
插入一些值,但是我不太熟悉在Postgresql 9.6中编写函数。
--Create some table
CREATE TABLE test(column1 INT, column2 INT, column3 TEXT)
INSERT INTO test VALUES(-8020,15),(-200,1),(23,115)
--Build function
CREATE OR REPLACE FUNCTION new_function()
RETURNS TEXT AS
$$
BEGIN
IF test(column1) <= -7000 THEN INSERT INTO test(column3) VALUES('small');
ELSIF test(column1) >= -7000 AND test(column2) <= 15 THEN INSERT INTO test(column3) VALUES('nohello');
ELSIF test(column1) >= -7000 ANDtable(column2) >= 15 THEN INSERT INTO test(column3) VALUES('test');
ELSE INSERT INTO test(column6) VALUES("nodata");
END IF;
END;
$$
LANGUAGE plpgsql;
结果应该是一个看起来像这样的表格:
Column1 | Column2 | Column3
---------------------------
-8020 | 15 | small
-200 | 1 | nohello
23 | 115 | test
在调用new_function
时,我遇到了错误column1不存在。