oracle儲存過程和自定義函式

2021-07-24 10:57:44 字數 1430 閱讀 9174

(學習中遇到的相關問題plsql是什麼?)

資料庫的物件:表、檢視、索引、序列、同義詞、儲存過程儲存函式

儲存過程和儲存函式:指儲存在資料庫中供所有使用者程式呼叫的子程式叫儲存過程、儲存函式。

相同點:完成特定功能的程式。

區別:是否用return語句返回值。儲存函式可以通過return返回值,而儲存過程不能。

--說明部分

begin

dbms_output.put_line("helloword"); 

end; /

/*調 用儲存過程有兩種方法

方法一:

execute(可縮寫exec) sayhelloworld;

方法二:

begin 

sayhelloworld();

end; */

帶引數的儲存過程

舉例:為指定的員工,漲100塊錢的工資,並列印漲錢和漲後的工資。

/*in表示指明輸入引數 eno員工號,number數字型別*/

create or replace procedure raisesalary(enoin number) as

--定義乙個變數psal作為漲錢的工資,引用員工表中薪水做為這一變數的型別;

psal emp.sal%type;

begin

--得到員工漲錢的薪水,並將其轉入變數psal中。

select sal

into psal from emp where empno=eno;

--給該員工張100塊錢的工資

update emp set sal=sal+100 where empno=enp;

--需不需要cpmmit?

--注意一般不在儲存過程和儲存函式中,commit或者rollback;

dbms_output.put_line('漲前 '||psal||'漲後 '||(psal+100));

end;

/* begin

給工號為7788的員工漲工資

raisesalary(7788);

給工號為1234的員工漲工資

raisesalary(1234);

在這裡再提交才能保證以上兩個操作在同乙個事物中。

commit;

end; */

調 試儲存過程需要 debug connect session 和debug any procedure許可權。

ORACLE 自定義分頁儲存過程

一 建立包 create orreplace package pkg jk lab basic istype cursor type is ref cursor procedure sp get pagination pi tablename invarchar2,表名 pi where in va...

Oracle 儲存過程中自定義異常

參考 oracle 使用者自定義異常小例子 oracle中raise異常深入分析 customize exp exception 自定義異常 begin for c in select d.from scott.dept d loop begin dbms output.put line dept ...

儲存過程和使用者自定義函式

一 儲存過程的簡單建立,修改與刪除 1.建立簡單的儲存過程 useadventureworks gocreate proc spemployee asselect from humanresources.employee 執行上面的 就建立了乙個儲存過程 如果想執行這個儲存過程 可以直接執行exec...