pg的存儲過程的創建如下所示:
create or replace function "public"."update_sequence"("v" int4)
returns void as
$$
declare
seq_record record;
begin
for seq_record in (select relname from pg_class where relkind='S') loop
execute 'alter sequence ' || seq_record.relname || ' restart with ' || v || ';';
end loop;
end;
$$
language plpgsql volatile
cost 100;
存儲過程中 執行sql語句,要加execute
mybatis的mapper.xml文件中調用pg的存儲過程如下:
<select id="xxx方法名">
select update_sequence(#{number})
</select>
注意:mybatis調用存儲過程的入參類型要和pg中創建的存儲過程的入參類型一致,不要會找不到對應的存儲類型
mybatis 中執行pg的存儲過程 用select ; 執行mysql的存儲過程 用call
