我写了一个postgres的存储过程 编译总报错,哪个高手帮忙看看,多谢CREATE OR REPLACE FUNCTION test(IN in_num integer) RETURNS integer AS
$BODY$
DECLARE
ln_tmp INTEGER;
l_id INTEGER;
begin
for l_id in 1..9 loop
select id into ln_tmp from why
where id=i;
insert into why1 values (ln_temp);
end loop;
return 0;
end;
$BODY$
LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION test(IN integer) OWNER TO gpadmin;编译时 报错信息如下
---------------------------
pgAdmin III
---------------------------
发生了一个错误:
ERROR: syntax error at or near "INTEGER"
LINE 4: ln_tmp INTEGER;
^
---------------------------
确定
---------------------------
$BODY$
DECLARE
ln_tmp INTEGER;
l_id INTEGER;
begin
for l_id in 1..9 loop
select id into ln_tmp from why
where id=i;
insert into why1 values (ln_temp);
end loop;
return 0;
end;
$BODY$
LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION test(IN integer) OWNER TO gpadmin;编译时 报错信息如下
---------------------------
pgAdmin III
---------------------------
发生了一个错误:
ERROR: syntax error at or near "INTEGER"
LINE 4: ln_tmp INTEGER;
^
---------------------------
确定
---------------------------
改成
LANGUAGE plpgsql;csdn=# CREATE OR REPLACE FUNCTION test(IN in_num integer) RETURNS integer AS
csdn-# $BODY$
csdn$# DECLARE
csdn$# ln_tmp INTEGER;
csdn$# l_id INTEGER;
csdn$# begin
csdn$# for l_id in 1..9 loop
csdn$# select id into ln_tmp from why
csdn$# where id=i;
csdn$# insert into why1 values (ln_temp);
csdn$# end loop;
csdn$# return 0;
csdn$# end;
csdn$# $BODY$
csdn-# LANGUAGE plpgsql;
CREATE FUNCTION
csdn=#