學習Oracle 的儲存過程2

2021-08-30 14:44:57 字數 1598 閱讀 8390

呵呵,繼續學習吧,好記性不如懶筆頭(是這麼說的不?),現在用oracle資料庫的挺多的,但要想學好oracle資料庫也並不是一件太容易的事情呀,那就不斷學習,不斷總結吧,遇到什麼問題,記下來再想辦法解決它,那不就積少成多啦!

先說一下儲存過程裡的引數吧,

in  引數是常量,不能改值,不寫預設為in;

out引數必須是變數,可以改值

in out引數必須為變數,可以改值;

如果想在乙個儲存過程內呼叫另乙個儲存過程或函式,可以這麼寫

create or replace procedure onepro

isv_i number :=2;  -----變數賦值

begin

biud_test(v_i);   -----biud_test()為儲存過程或函式名

end;

修改儲存過程alter procedure 語句,但是它是用於重新編譯或驗證現有過程的,如果要修改過程定義,仍然用create或replace procedure命令,語法格式一樣。

整個小例子吧

create or replace procedure update_info

(v_xm in char)

asxf  number;

begin

select zxf

into xf

from xs

where xm =v_xm;

if xf>60 then

update xs set bz = 『三好學生』where xm = v_xm;

end if;

if  xf<35 then

update xs set bz = '學分未修滿' where xm = v_xm;

end if;

end update_info;

執行儲存過程update_info

exec update_info('小二');

在整個吧!

建立名為select_students德儲存過程,預設情況下,該過程是查詢所有學生的資訊,當該過程改為能檢索計算機專業的學生資訊時,用create or replace 重新定義。

(1)定義過程

create or replace procedure select_students

( cur out select.cur_07)

asbegin

open cur for

select xh,xm,zym,xb from xs

order by xh;

end;

注意:使用查詢包頭時在select語句中不能用*識別符號;

(2)修改過程

create or replace procedure select_students

(cur out select.cur_07)

asbegin

open cur for

select xh,xm,zym,xb, from xs

where zym = '計算機'

order by xh;

end;

我感覺修改已有過程就是使用create or replace procedure 重新建立乙個儲存過程,保持名字和原來的一樣。

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

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...

Oracle儲存過程學習

儲存過程是一組為了完成特定功能的 sql 語句塊,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。1 儲存過程和函式以命名的資料庫物件形式儲存於資料庫當中。儲存在資料庫中的優點是很明顯的,因為 不儲存在本地,使用者可以在任何客戶機上登入到資料庫,並呼...