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