create schema db_func_call1;
set current_schema to 'db_func_call1';
CREATE FUNCTION f1 (s CHAR(20)) RETURNS int CONTAINS SQL AS $$ select 1 $$ ;
call f1('a');
ERROR: Only support procedure in muiti result call statement
drop function f1;
CREATE FUNCTION f1 () RETURNS int no SQL AS $$ select 1 $$ ;
call f1;
ERROR: Only support procedure in muiti result call statement
call f1;
ERROR: Only support procedure in muiti result call statement
drop function f1;
create table tb_object0015(data int,name varchar(25) ,"deptId" int,salary float);
create table tb_object0015_01(data int,name varchar(25) ,"deptId" int,salary float);
CREATE OR REPLACE FUNCTION tri_1() RETURNS TRIGGER AS
$$
DECLARE
BEGIN
INSERT
INTO tb_object0015_01
VALUES (NEW.data, U&"\006e\0065\0077".name, U&"\006e\0065\0077"."deptId", 2 * NEW.salary);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER tr_object0015_01
AFTER INSERT ON tb_object0015
FOR EACH ROW
EXECUTE PROCEDURE tri_1();
insert into tb_object0015 values(1,'1000',1,1.1),(2,'2000',2,2.2);
select * from tb_object0015 order by data;
data | name | deptId | salary
------+------+--------+--------
1 | 1000 | 1 | 1.1
2 | 2000 | 2 | 2.2
(2 rows)
select * from tb_object0015_01 order by data;
data | name | deptId | salary
------+------+--------+--------
1 | 1000 | 1 | 2.2
2 | 2000 | 2 | 4.4
(2 rows)
CREATE OR REPLACE FUNCTION f_2() RETURNS void AS
$$
DECLARE
BEGIN
insert into tb_object0015(U&"d\0041t\+000061",salary) values(3,3.3);
END;
$$ LANGUAGE plpgsql;
call f_2();
ERROR: Only support procedure in muiti result call statement
select * from tb_object0015 order by data;
data | name | deptId | salary
------+------+--------+--------
1 | 1000 | 1 | 1.1
2 | 2000 | 2 | 2.2
(2 rows)
select * from tb_object0015_01 order by data;
data | name | deptId | salary
------+------+--------+--------
1 | 1000 | 1 | 2.2
2 | 2000 | 2 | 4.4
(2 rows)
CREATE OR REPLACE FUNCTION f_3() RETURNS nchar AS
$$
DECLARE a nchar;
BEGIN
select into a n'A';
return a;
END;
$$ LANGUAGE plpgsql;
call f_3();
ERROR: Only support procedure in muiti result call statement
drop schema db_func_call1 cascade;
NOTICE: drop cascades to 5 other objects
DETAIL: drop cascades to table tb_object0015
drop cascades to table tb_object0015_01
drop cascades to function tri_1()
drop cascades to function f_2()
drop cascades to function f_3()
reset current_schema;