包的使用

简介: oracle中的包是一个很好的东西比如在java中都回习惯把自己的类放到具有代表意义的包中用与逻辑上的区分同样的oracle也如此:包的使用也非常简单,分为包头和包体2部分举个例子用mssql se...

oracle中的包是一个很好的东西
比如在java中都回习惯把自己的类放到具有代表意义的包中用与逻辑上的区分
同样的oracle也如此:

包的使用也非常简单,分为包头和包体2部分
举个例子用mssql server的pubs中titles表为例子,写一个procedure来查找出价格最贵的那本书
用sql server的话 只要用一个子查询就可以搞定

select * from titles where price=(
select max(price) from titles);

在oracle中的话 先要定义包头


create or replace package Titles_pkg
as
procedure GetMaxPrice;
end;

--完成package body
create or replace package body Titles_pkg
is
 procedure GetMaxPrice
 is
 cursor titles_cur is select title, type, price from titles;
 type type_title is record
 (
 title titles.title%type := '',
 type titles.type%type := '',
 price titles.price%type := 0
 );
 lv_title_rec type_title;
 lv_title_temp_rec type_title;
 begin
   open titles_cur;
   loop
    fetch titles_cur into lv_title_rec;
    exit when titles_cur%notfound;
    if lv_title_rec.price > lv_title_temp_rec.price then
     lv_title_temp_rec := lv_title_rec;
    end if;
   end loop;
   close titles_cur;

 dbms_output.put_line ( lv_title_temp_rec.title );
 dbms_output.put_line ( lv_title_temp_rec.type );
 dbms_output.put_line ( lv_title_temp_rec.price );
 end;
end;
/

--调用
begin
PKG_DEMO.GetMaxTitle;
end;

--或者
Exec PKG_DEMO.GetMaxTitle;



可能是我用惯了MS的产品,对oracle真的很不习惯,但不的不承认MS确实为开发人员做了很多事情
简化了开发步骤,不过习惯成自然,为了 2块一行的代码 奋斗中^_^

目录
相关文章
|
6月前
|
Python 人工智能 数据可视化
Python模块与包(八)
Python模块与包(八)
51 0
Python模块与包(八)
|
2月前
|
运维 NoSQL Redis
镜像包是什么
镜像包是什么
85 3
|
3月前
|
Python
关于下载aircv包遇到的问题
这篇文章是关于作者在尝试下载aircv包时遇到的问题以及通过离线下载解决这些问题的经历。
关于下载aircv包遇到的问题
|
5月前
|
JavaScript 中间件
包代码
包代码
33 7
|
6月前
|
开发者 Python
|
SQL Java API
包的使用及其创建
包的使用及其创建
73 0
|
存储 Java
59 0
|
IDE 开发工具
R问题|如何本地安装 R 包
R问题|如何本地安装 R 包
465 0
R问题|如何本地安装 R 包
|
缓存 安全 Python
Python模块和包
Python模块和包
171 1
Python模块和包