`

Oracle学习笔记 6 程序包使用

阅读更多
程序包主体
  程序包是对相关过程、函数、变量、游标和异常等对象的封装,以下代码演示了程序包的使用:
  首先执行:
  create or replace package mypack
is
   procedure employee2_proc(employeeid number);
   function employee2_function return varchar2 ;
end;
/
其次执行:
create or replace package body mypack as
procedure employee2_proc(employeeid  number)
is
  firstname varchar2(20);
  lastname varchar2(20);
  divisionid varchar2(20);
begin
   select first_name,last_name,division_id into firstname,lastname,divisionid
      from employees2  where employee_id = employeeid ;
   dbms_output.put_line('first_name = '||firstname || 'lastname='||lastname || 'divisionid ='||   divisionid);
end employee2_proc;
function employee2_function
return varchar2 is
    jobid varchar2(20);
    sal number(8);
begin
   select job_id,salary into jobid,sal from employees2 where employee_id =2;
   if jobid = 'MGR' then
      dbms_output.put_line('job = Manager' || ' salary = '||sal);
   end if;
end employee2_function;
end mypack;
/

以下代码执行程序包中的employee2_proc过程
     Set serveroutput on
     execute mypack.employee2_proc(2);
以下代码执行程序包中的employee2_function函数



declare
  empinfo varchar2(50);
begin
    empinfo := mypack.employee2_function;
    dbms_output.put_line('empinfo ='|| empinfo);
end;
/

程序包中的游标:
1. 创建程序包:
      create or replace package my_cur as
cursor employeecur return employees2;
end;
    /
2. 创建程序包主体:
     create or replace package body my_cur as
       cursor employeecur return employees2 is
      select * from employees2 where salary >120000;
     end;
      /
      
执行以上程序包中的my_cur 游标。
declare
  myrecord employees2%rowtype;
begin
   open my_cur.employeecur;
loop
    fetch my_cur.employeecur into myrecord;
    exit when my_cur.employeecur %notfound;
    dbms_output.put_line('employee_id ='||myrecord.employee_id || ' 
          firstname ='|| myrecord.first_name ||'  lastname ='|| myrecord.last_name);
end loop;
end;
/
     
获取子程序和程序包的信息:
COLUMN OBJECT_NAME FORMAT A18
SELECT object_name, object_type
FROM USER_OBJECTS
WHERE object_type IN ('PROCEDURE', 'FUNCTION',
'PACKAGE', 'PACKAGE BODY');

获取user_source 视图结构:
      DESC USER_SOURCE
获取程序包中的子程序 TEST 的源代码。
    COLUMN LINE FORMAT 9999
COLUMN TEXT FORMAT A50

SELECT line, text FROM USER_SOURCE
WHERE NAME='TEST';
获取程序包中的子程序规范信息:
    Desc pack_me;

分享到:
评论

相关推荐

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle学习笔记下载

    ### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...

    oracle学习笔记,介绍详细

    这份“Oracle学习笔记”无疑是你深入理解和掌握Oracle技术的重要资源。笔记涵盖了Oracle的语法基础、核心概念以及各种实用功能,旨在帮助初学者快速上手,同时也能为有一定经验的DBA提供参考。 首先,Oracle数据库...

    oracle学习笔记2013(+安装、卸载)

    这份"oracle学习笔记2013(+安装、卸载)"涵盖了从基础到进阶的多个方面,对于想要深入理解Oracle数据库的人来说是一份宝贵的资料。 首先,"Oracle10G安装图解.doc"详细阐述了Oracle 10g的安装步骤。Oracle的安装是...

    oracle学习笔记+代码

    总结来说,"Oracle学习笔记+代码"涵盖了Oracle数据库的基础和进阶内容,包括SQL语句的使用、PL/SQL编程以及通过Pro*C/C++进行数据库访问。通过深入学习和实践,你可以成为一个熟练的Oracle开发者,能够构建高效、...

    oracle 学习笔记包含各种查询,增加,删除,修改等

    oracle 学习笔记包含各种查询,增加,删除,修改等

    学习笔记 testOracle

    【标题】"学习笔记 testOracle" 提供了一个线索,表明这是一份关于Oracle数据库的学习资料。Oracle是全球广泛使用的大型关系型数据库管理系统,用于存储、管理和处理大量的结构化数据。在学习笔记中,作者可能详细...

    我的Oracle 11g OCP学习笔记

    本学习笔记详细记录了作者在准备Oracle 11g OCP认证过程中的学习心得和实践经验,对于希望深入理解Oracle数据库管理和优化的读者来说,是一份宝贵的资料。 Oracle 11g包含了许多重要的特性和改进,例如: 1. **...

    韩顺平玩转oracle学习笔记

    ### 韩顺平玩转Oracle学习笔记知识点详解 #### 一、Oracle基本使用——基本命令 ##### 连接命令 - **`conn[ect]`**:此命令用于连接到Oracle数据库。语法如下: - `conn 用户名/密码@网络服务名 [as sysdba/...

    Oracle_认证学习笔记

    Oracle 认证学习笔记 本文档主要讲述 Oracle 认证学习笔记,涵盖了 Oracle 数据库体系...通过对 Oracle 认证学习笔记的学习,读者可以了解 Oracle 数据库的基本结构和工作机理,从而更好地理解和使用 Oracle 数据库。

    Oracle查询操作的学习笔记

    ### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 - **创建用户**:在Oracle中创建用户的基本语法为`CREATE USER username IDENTIFIED BY password`。例如,`CREATE USER xiaoming ...

    非常适用的Oracle学习笔记

    这份"非常适用的Oracle学习笔记"涵盖了Oracle的基础知识,对于初学者和有经验的DBA来说都是一份宝贵的参考资料。 1. Oracle基础知识 Oracle数据库的核心是其关系型数据库模型,它通过表格来存储和管理数据。在...

    oracle最全学习笔记(个人总结)

    ### Oracle 最全学习笔记知识点梳理 #### 一、存储过程 - **定义**:存储过程是一种在数据库中存储复杂程序以便外部程序调用的一种数据库对象。 - **应用场景**:主要用于执行大量的更新或插入操作,以提高数据库...

    oracle学习笔记.docx

    在Oracle学习笔记中,我们关注两个关键知识点:1) SQLLoader的使用和2) Oracle应用程序性能分析。 1. SQLLoader导入数据 SQLLoader是Oracle提供的一种高效的数据加载工具,能够将文本格式的数据批量导入到Oracle...

    oracle 学习笔记

    Oracle学习笔记是一个全面涵盖Oracle数据库管理系统知识的资源,适合初学者和有经验的DBA(数据库管理员)深入学习。Oracle是世界上最广泛使用的数据库系统之一,以其高性能、高可用性和安全性著称。以下是一些关键...

    数据库开发oracle学习笔记

    ### 数据库开发Oracle学习笔记详解 #### 一、Oracle服务器的启动与停止 在Oracle数据库管理中,正确地启动和停止服务器是基本且关键的操作。根据给定的学习笔记,我们可深入理解以下几点: 1. **启动Oracle ...

Global site tag (gtag.js) - Google Analytics