Oracle之包 1 包的要求 建立包頭

2021-09-30 06:28:04 字數 2358 閱讀 9041

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