標籤:plpgsql $$ stc title 初始化 blog rda net notice
1.有用的連結
postgresql 常用小函數
Postgresql資料庫的一些字串操作函數
PostgreSQL function裡面調用function
PostgreSQL學習手冊(函數和操作符<二>)
PostgreSQL的預存程序簡單入門
2.建立塊環境(執行環境)
do language plpgsql $$ declare begin ... .. . end $$;
如
do language plpgsql $$ declare today date :=now(); yesterday date; beginDay date := ‘2012-12-12‘; val date; i int; i_str varchar(50); begin --在預存程序裡調用需要使用 perform關鍵字 perform InitsFunction() ; if(today is null) then RAISE NOTICE ‘ today is null‘ ; else RAISE NOTICE ‘ today is not null‘ ; end if; end;$$ ;
3. 建立預存程序
create or replace function InitstandardCheckInDays() returns void as$body$ declare today date ; beginDay date; val date; i int; begin today := current_date; if not exists(select 1 from standardCheckInDays) then beginDay := ‘2012-12-12‘; ELSEIF (not exists (select 1 from standardCheckInDays where stCheckInDate=today)) then beginDay = (select max(stCheckInDate) from standardCheckInDays) ; end if; if(beginDay is null )then RAISE NOTICE ‘當天的資料已存在標準簽到表裡‘ ; else RAISE NOTICE ‘當天的資料不存在標準簽到表裡‘ ; RAISE NOTICE ‘初始化或者30年後了!當天的資料不存在標準簽到表裡‘ ; for i in 1..100*100 loop val := beginDay + i ; insert into standardCheckInDays(stCheckInDate) values(val) ; RAISE NOTICE ‘ %‘ , val; end loop; end if; end;$body$ language plpgsql;
select ‘當前日期:‘ || to_char(now(),‘YYYY-MM-DD HH24:MI:SS.MS‘);
PostgreSQL 預存程序/函數