Oracle預存程序的理解

來源:互聯網
上載者:User

標籤:

  在大專時候學的專業是資料庫管理專業,在學校學了各種各樣的資料 MSSQL、ORACLE、MySQL。

那時候學資料大部分只學到了些皮毛,僅僅只會按照書上SQL語句,輸入電腦得出結果,就很有成就感。

對於高階課程預存程序就有些難度了,那時候也沒學好預存程序。最近項目中用到預存程序,才知道預存程序的重要性。

預存程序幾乎可以解決所有商務邏輯,我們可以用預存程序取代代碼中的邏輯。

這樣代碼只要關心輸入參數得出想要的結果,可以大大簡化用戶端開發。

但因為預存程序本身文法並不優美,閱讀起來會有些吃力,常常會看到一個預存程序有上千行代碼,可讀性很差。

預存程序在一些場合非常有用,比如常用的 分頁預存程序、批次更新處理資料。

所以還是有必要掌握學習預存程序的,特別是一些傳統軟體行業,預存程序就是他們的核心。

以下是自己總結 預存程序的一些文法:

 create or replace procedurre  my_proce

(

user_name varchar2(20),

out out_cursor sys_cursor

) as 

declare

cursor my_cursor is  select * from tab_users;

tab_row tab_user%rowtype;

user_password  tab_users.user_password%type;

begin

--幾種調用遊標的方式

open cursor my_cursor;

--loop 方式

loop

fetch tab_row in my_cursor

dbms_output.putline(tab_row.user_name);

exit when my_sursor%nofound

end loop;

--while 方式

while tab_row%found loop

fetch tab_row in my_cursor;

dbms_output.putline(tab_row.password);

end loop;

-- for 方式 不用顯示開啟遊標

for tab_row in my_cursor loop

  dbms_output.put_line(tab_row.username);

end loop;

 

-- open for sql語句

open out_cursor for ‘select * from tab_users‘;

 

 

 

 

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.