一、程式包簡使用
--建立乙個程式包規範,以scott.emp表為資料
1--程式包
2create
orreplace
package emp_package3is
4 minsal emp.sal%type;--
最小工資
5 maxsal emp.sal%type;--
最大工資6--
新增員工資訊
7procedure addemp(v_no number,v_name nvarchar2,v_sal number,v_deptno number);8
--修改員工資訊,根據編號
9procedure updatesal(v_no number,v_sal number
);10
--修改員工資訊,根據姓名
11procedure updatesal(v_name nvarchar2,v_sal number
);12
--獲得員工的工資,根據編號
13function getsal(v_no number) return
number;14
end;
--建立包的主體,以scott.emp表為資料
1--包主體
2create
orreplace
package body emp_package3is
4--新增員工資訊
5procedure addemp(v_no number,v_name nvarchar2,v_sal number,v_deptno number)6
is7begin
8insert
into emp(empno,ename,sal,deptno) values
(v_no,v_name,v_sal,v_deptno);
9end;10
--修改員工資訊,根據編號
11procedure updatesal(v_no number,v_sal number)12
is13
begin
14update emp set sal = v_sal where empno =
v_no;
15commit;16
exception
17when others then
18 dbms_output.put_line('
更新薪資時出現異常');
19rollback;20
end;
21--
修改員工資訊,根據姓名
22procedure updatesal(v_name nvarchar2,v_sal number)23
is24
begin
25update emp set sal = v_sal where ename =
v_name;
26commit;27
exception
28when others then
29 dbms_output.put_line('
更新薪資時出現異常');
30rollback;31
end;
32--
獲得員工的工資,根據編號
33function getsal(v_no number) return
number
34is
35 v_sal emp.sal%
type;
36begin
37select sal into v_sal from emp where empno =
v_no;
38return
v_sal;
39end;40
begin
41select
max(sal) into maxsal from
emp;
42select
min(sal) into minsal from
emp;
43end;
以下是測試**:
1--程式包
2declare
3 v_minsal emp.sal%
type;
4 v_sal emp.sal%
type;
5begin
6 v_minsal :=
emp_package.minsal;
7dbms_output.put_line(v_minsal);
8 emp_package.updatesal('
blake
',600.00
);9 v_sal :=emp_package.getsal(7698
);10
dbms_output.put_line(v_sal);
11 emp_package.addemp(7777,'
abc',7000,10
);12
end;
二、在程式包中使用靜態游標
1--定義包規範
2create
orreplace
package pkg_emp 3is
4cursor getempinfo(empno varchar2) return emp%
rowtype;
5end;6
--定義包主體
7create
orreplace
package body pkg_emp8is
9cursor getempinfo(empno varchar2) return emp%rowtype is
10select
*from emp where empno =
empno;
11end
; 12
--測試**
13begin
14for v_r in pkg_emp.getempinfo(7369
) loop
15dbms_output.put_line(v_r.ename);
16end
loop;
17end;
三、在程式包中使用動態游標
未完待續……
adb 工具關閉程式包,開啟程式包,查詢程式包
1.關閉程式包 關閉的是google搜尋的包 命令是 adb shell am force stop com.android.quicksearchbox 2.開啟程式包 開啟的是google搜尋的包 命令是 adb shell am start w n com.android.quicksearc...
程式包例子
create or replace package test package is procedure pro test01 num arg in number function fun test02 return number end test package create or replace ...
程式包例子
儲存過程 procedure create procedure 過程名 引數列表 as is begin exception end or replace 如果存在該過程,則重構該過程 過程引數的三種模式 in 用於接受呼叫程式的值,預設的引數模式 out 用於向呼叫程式返回值 in out用於接受...