Pg的存储过程与oracle的稍微有点不一样,它的结构是这样的
语法:
CREATE OR REPLACE FUNCTION function_name(arg1,arg2...) RETURNS return_type AS
$BODY$
DECLARE
变量声明
BEGIN
函数体
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE OR REPLACE FUNCTION function_name() RETURNS character varying
VOLATILE
AS $body$
/*
功能描述:***
*/
DECLARE
start_time TIMESTAMP (6);
end_time TIMESTAMP (6);
BEGIN
--开始时间
start_time := date_trunc('second', clock_timestamp());
raise notice '执行******开始 , 开始时间 is % ',start_time;
##########这里就是要执行的语句#############
exception
when others then
--使用SQLERRM 来显示错误信息。
raise exception '(%)', sqlerrm;
return 'fail';
--结束时间
end_time := date_trunc('second', clock_timestamp());
SELECT TO_CHAR(AGE(end_time,start_time),'hh24:mi:ss') INTO cost_time;
raise notice '执行******结束 , 结束时间 is %',end_time;
return 'success';
END;
$body$ LANGUAGE plpgsql