【轉】幾個常用的Oracle預存程序

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   os   使用   sp   for   

http://blog.bossma.cn/database/some-oracle-storing-process/幾個常用的Oracle預存程序

發布時間:2008年1月6日 / 分類:DataBase / 7,268 次瀏覽 / 評論

初學Oracle,瞭解了一下Oracle的預存程序,運行了幾個例子,做個備忘,方便以後使用:
1、插入資料:
向一張表裡插入若干條資料

 
0123456789101112131415161718192021222324252627282930313233  /*建立表tb1包含兩個欄位col1、col2*/create table tb1(col1 char(20),col2 char(20)); /*插入資料的預存程序*/CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST(ST_NUM        IN     NUMBER,/*起始數值*/ED_NUM        IN     NUMBER/*結束數值*/)ISBEGINdeclare       i   number;begin/*迴圈插入*/FOR i IN ST_NUM..ED_NUM LOOPINSERT INTO tb1 values(i,‘test‘);END LOOP;end;commit;/*異常處理*/EXCEPTIONWHEN OTHERS THENrollback;END; /*在CommondLine下執行*/exec INSERTAMOUNTTEST(1,2000);

 

2、更新資料

 
0123456789101112131415  CREATE OR REPLACE PROCEDURE UPDATEAMOUNTTEST(WHERE_NUM IN VARCHAR2/*SQL語句條件值*/)ISBEGINUPDATE tb1 SET col2=‘test2‘ where col1 like WHERE_NUM||‘%‘;/*異常處理*/EXCEPTIONWHEN OTHERS THENrollback;END; /*在CommondLine下執行*/exec UPDATEAMOUNTTEST(‘11‘);

 

3、預存程序之間的調用
以一個查詢更新為例子

     C# 
0123456789101112131415161718192021222324252627282930313233343536  /*查詢更新預存程序,調用更新預存程序UPDATEAMOUNTTEST2*/CREATE OR REPLACE PROCEDURE SELECTUPDATETEST(tJStr IN CHAR)is  upStr CHAR(20);begin/*查詢出要更新的欄位值*/select a.col2 into upStr from tb1 a where a.col1 = tJStr;/*調用更新預存程序傳入用於更新的兩個參數*/UPDATEAMOUNTTEST2(‘11‘,upStr);end SELECTUPDATETEST; /*更新用的預存程序,被SELECTUPDATETEST調用*/CREATE OR REPLACE PROCEDURE UPDATEAMOUNTTEST2(WHERE_NUM IN VARCHAR2,/*更新條件*/SET_NAME IN VARCHAR2/*更新後的欄位值*/)ISBEGINUPDATE tb1 SET col2=SET_NAME where col1 like WHERE_NUM||‘%‘;EXCEPTIONWHEN OTHERS THENrollback;END;

【轉】幾個常用的Oracle預存程序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.