PostgreSQL函數用法

來源:互聯網
上載者:User

 

測試環境:win2003+PostgreSQL8.3(PostgreSQL89.0的不好用)

 

一、建立資料庫語言

1.開啟「開始」菜單/程式/PostgreSQL 8.3/命令提示字元

2.執行命令“createlang -U postgres plpgsql postgres”

如(E:/Program Files/PostgreSQL/8.3/bin>createlang -U postgres plpgsql postgres)

 

二、建立資料庫

create table co_schedule(n_progid int,dt_starttime timestamp,dt_endtime timestamp);

三、建立函數:
create function add_program_time(int4,timestamp,int4,int4,int4) returns bool as '
declare
    prog_id alias for $1;
    duration_min alias for $3;
    period_min alias for $4;
    repeat_times alias for $5;
    i int;
    starttime timestamp;
    ins_starttime timestamp;
    ins_endtime timestamp;
begin
    starttime :=$2;
    i := 0;
    while i<repeat_times loop
        ins_starttime := starttime;
        ins_endtime := timestamp_pl_interval(ins_starttime, CAST(duration_min || ''mins'' AS interval));
        starttime := timestamp_pl_interval(ins_starttime, CAST(period_min || ''mins'' AS interval));
        insert into co_schedule values(prog_id,ins_starttime,ins_endtime);
        i := i+1;
    end loop;
    if i<repeat_times then
        return false;
    else
        return true;
    end if;
end;
'language 'plpgsql';

四、執行函數
select add_program_time(1,'2002-10-20 0:0:0','5','120','5');

 

五、查看函數運行後的結果:
select * from co_schedule;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.