1.
編寫乙個管理雇員資訊的包
emp_mgmt
。包中有成員
如下:
程式結構 型別
說明emp_count
公有變數
跟蹤員工的總人數變化,插入和刪除員工時要修改該變數的值
init
公有過程
初始化包,初始化員工人數和當前個人所得稅率,建議有乙個輸入引數
p_tax
,傳入當前個人所得稅率,暫定為工資的8%。
tax_emp
公有函式
通過員工編號計算出員工應交個人所得稅款
hire_emp
公有過程
通過員工編號插入員工
fire_emp
公有過程
通過員工編號刪除員工
emp_tax_record記錄
用於游標
c_emp
的return
(強型別游標)語句中
c_emp游標
用於游標
for迴圈中,會被過程
show_emp_tax
所使用
show_emp_tax
公有過程
按工資公升序輸出所有雇員的應交所得稅清單
exist_emp
私有函式
判斷某個編號的員工是否存在,該函式會被
hire_emp
和fire_emp
等過程呼叫
sal_null
異常名工資為空值時的異常名
步驟1
:建立包頭:
--
包頭建立
create or replace package emp_mgmt is
emp_count number(4); --
員工總數
p_taxfloat; --
稅率
sal_null exception;
typeemp_tax_record is record(e_no emp.empno%type);--
稅率記錄
cursor c_emp return emp_tax_record;--
游標
function tax_emp(e_no emp.empno%type) return float; --
計算該員工的稅
procedure init(v_tax float:=0.08); --
初始化
procedure hire_emp(e_no in emp.empno%type,e_name in emp.ename%type,e_job in emp.job%type,e_sal in emp.sal%type);--
僱傭員工
procedure fire_emp(e_no in emp.empno%type);--
炒掉員工
procedure show_emp_tax;--
員工工資高低
function exist_emp(e_no in emp.empno%type) return boolean;--
查詢該員工是否存在
function getename(e_no in emp.empno%type) return varchar2;--
獲得員工名字
procedure getoneemptax(e_no in emp.empno%type);--
顯示查詢員工的稅
function getempcount return number; --
返回員工總數
Oracle之包頭和包體的建立
2 查詢某個部門中的所有員工資訊 返回的是集合 包頭 create or replace package mypackage is type empcursor is ref cursor 這句話是自定義乙個變數型別為游標型別其實就是游標,不定義也可以.下面這句就是包頭裡有個儲存過程,定義乙個儲存過...
1 ros包的建立
1 首先建立乙個工作目錄檔案 mkdir p catkin ws src2 在工作區目錄下執行執行 catkin make使用catkin make命令後就可以得到以下的目錄結構。3 在src目錄下建立包 使用catkin create pkg 命令,在src目錄下建立乙個包,示例如下 catkin...
Oracle建立儲存過程 建立函式 建立包
一 oracle建立儲存過程 1 基本語法 create orreplace procedureupdate emp sal name inout type,name inout type,is begin endupdate emp sal 2 寫乙個簡單的例子修改emp表的ename欄位 cre...