oracle儲存過程 2

2021-09-01 09:05:17 字數 1357 閱讀 7757

[color=red]--1.判斷語句[/color]

[color=blue]create or replace procedure [/color]test(x in number)

is begin

if x>0 then

begin

x := 0-x;

end ;

end if;

if x=0 then

begin

x := 1;

end ;

end if;

end test;

[color=red]--for 迴圈 for ...in ..loop 執行語句 end loop

--(1) 迴圈遍歷游標[/color]

[color=blue]create or replace procedure [/color]test() as

cursor cursor is select name from student; name varchar2(20);

begin

for name in cursor loop

begin

dbms_output.put_line(name);

end;

end loop;

end test;

[color=red]

--while 迴圈 while 條件語句 loop begin end; end loop ;[/color]

[color=blue]create or replace procedure[/color] test(i in number) as

begin

while i<10 loop

begin

i:=i+1;

end;

end loop;

end test;

4.陣列

oracel 資料庫中沒有陣列的概念,陣列其實是一張表,沒個陣列元素都是表中的乙個記錄。

使用陣列的時候,使用者可以使用oracle已經定義好的陣列型別。或可以根據需要定義自己需要的陣列型別。

(1) 使用oracle自帶的陣列型別:

x array ; 使用的時候需要初始化。

create or replace procedure test(y out array) is

x array ;

begin

x:=new array();

y:= x;

end test ;

(2) 自定義陣列型別

create or replace package mypackage is

public type declarations type

Oracle儲存過程2

檢視所有使用者 select from all users select from user users 檢視使用者系統許可權 select from dba sys privs select from user sys privs 檢視使用者物件許可權 select from all tab pr...

學習Oracle 的儲存過程2

呵呵,繼續學習吧,好記性不如懶筆頭 是這麼說的不?現在用oracle資料庫的挺多的,但要想學好oracle資料庫也並不是一件太容易的事情呀,那就不斷學習,不斷總結吧,遇到什麼問題,記下來再想辦法解決它,那不就積少成多啦!先說一下儲存過程裡的引數吧,in 引數是常量,不能改值,不寫預設為in out引...

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...