日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORACLE中的包和包体

發布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE中的包和包体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用一個增刪改查用戶的例子來演示包(java中接口)和包體(java中實現類)

創建包

create or replace package pkg_userinfoService
as
? ?--定義用戶的結構體
? ?type userInfo is record (
? ? ? ? id number,--用戶id
? ? ? ? name varchar2(20),--用戶名稱
? ? ? ? sex number,--用戶性別 0 男 1 女
? ? ? ? age number,--年齡
? ? ? ? sal number--薪水
? ?);
? ?--添加用戶
? ?function addUser(ui in userInfo)
? ?return number;
? ?--創建用戶表
? ?procedure createUserTable;
? ?--刪除用戶
? ?function delUser(id number)
? ?return number;
? ?--更改用戶信息
? ?function updateUser(ui in userInfo)
? ?return number;
end pkg_userinfoService;

創建包體

create or replace package body pkg_userinfoService
as
? ?--添加用戶
? ?function addUser(ui in userInfo)
? ? ?return number
? ?as
? ?begin
? ? ?pkg_userinfoService.createUserTable();
? ? ?execute immediate 'insert into TB_USERINFO values('''||ui.id||''','''||ui.name||''','''||ui.sex||''','''||ui.age||''','''||ui.sal||''')';
? ? ?return 1;
? ?end;


? ?--創建用戶表
? ?procedure createUserTable as
? ? ?ifExist number;
? ? ?begin
? ? ? ? ?select count(*) into ifExist from tab where tname='TB_USERINFO';
? ? ? ? ?if ifExist=0 then
? ? ? ? ? ? execute immediate 'create table TB_USERINFO(id number,--用戶id
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? name varchar2(20),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sex number,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? age number,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sal number)';
? ? ? ? ?end if;
? ? ?end;
? ?--刪除用戶
? ?function delUser(id number)
? ?return number
? ?as
? ?begin
? ? ? pkg_userinfoService.createUserTable();
? ? ? execute immediate ' delete from TB_USERINFO where id='||id;
? ? ? return 1;
? ?end;
? ?--更改用戶信息
? ?function updateUser(ui in userInfo)
? ?return number
? ?as
? ?begin
? ? ? pkg_userinfoService.createUserTable();
? ? ? execute immediate ' update TB_USERINFO set name='''||ui.name||''',sex='''||ui.sex||''',age='''||ui.age||''',sal='''||ui.sal||''' where id='''||ui.id;
? ? ? return 1;
? ?end;
end pkg_userinfoService;


調用方式

declare ?ui pkg_userinfoService.userInfo;
rest number;
begin
? ui.id:=1;
? ui.name:='jiaozi';
? ui.sex:=1;
? ui.age:=10;
? rest:=pkg_userinfoService.addUser(ui);
end;








轉載于:https://www.cnblogs.com/liaomin416100569/p/9331266.html

總結

以上是生活随笔為你收集整理的ORACLE中的包和包体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。