`

PL/SQL编程—函数和包的创建

阅读更多

PL/SQL中有关函数和包创建的总结

1.函数的创建及调用

PL/SQL编程和其它语言的编程一样,有函数的创建其语法规则如下:

create or replace function function_NAME(parameter_NAME data_TYPE) return data_TYPE is

...

end function_NAME; 

 

其中function_NAME是函数名,parameter_NAME是参数名,data_TYPE是数据类型;

和其它语言函数不同的是PL/SQL的函数必须有返回值,即return data_TYPE;

is之后,end之前是函数体。

例:

create or replace function Fun_01(v_name varchar2) return number is

-- 声明变量
v_sals number(7, 2);

begin
  
  -- 执行语句
  select sal*12 into v_sals from emp where ename=v_name;
  return v_sals;
end Fun_01;

此例创建了一个名为Fun_01的函数,其参数是v_name,参数数据类型为varchar2,返回一个number类型的值,该函数的功能是计算并返回emp表中指定姓名的雇员的年薪。

函数创建以后就需要调用,调用函数的语法如下:

var variable_NAME data_TYPE;
call function_NAME(VALUE) into:variable_NAME;

其中variable_NAME是存放返回值的变量,data_TYPE是返回值的数据类型,function_NAME要调用的函数,VALUE是传入的参数值,into:variable_NAME表示将调用该函数得到的返回值存入变量中。

下面代码是对上例中创建函数的调用:

var v_sals number;
call Fun_01('SMITH') into:v_sals;

 

2.包和包体

和Java中一样,PL/SQL中的包是用来给函数和过程分类的。

创建一个包的语法如下:

create or replace package package_NAME is

...
end package_NAME;

其中package_NAME是要创建的包的包名;

is之后,end之前是包中存放的内容(包括函数、过程等)。

例:

create or replace package package_01 is
       procedure pro_04;
       function fun_02(v_empno number) return varchar;
end package_01;

 此例表明创建一个名为package_01的包,其中存放了一个名为pro_04的过程和一个名为fun_02的函数。

包体是对包的实现,更准确一点应该说是包中存放的过程、函数等的具体实现。其语法如下:

create or replace package body package_NAME is

...

end;

其中package body表明是包体的实现,package_NAME是要实现的包的包名;

is和end之间是包体具体的实现。

例:

create or replace package body package_02 is
       procedure pro_04(v_empno number) is
                  v_ename varchar2(10);
                  begin
                    select ename from emp where empno=v_empno;
                  end;
end package_02;
0
0
分享到:
评论

相关推荐

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

    12oracle的PL/SQL编程-函数.包.触发器 PPT

    总结来说,Oracle的PL/SQL编程通过函数、包和触发器为开发者提供了丰富的工具,以应对各种数据库应用场景。函数提高了代码的重用性,包增强了代码的组织性,而触发器则确保了业务规则的正确执行。了解并熟练掌握这些...

    精通pl/sql

    《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,主要面向希望提升在Oracle环境下使用PL/SQL技能的专业人士。PL/SQL,全称为Procedural Language/Structured Query Language,是...

    oracle 9i pl/sql程序设计笔记

    通过上述对Oracle 9i PL/SQL程序设计笔记的总结,我们可以看到PL/SQL作为一种强大的数据库编程语言,提供了丰富的功能来支持数据处理、事务控制及业务逻辑的实现。掌握PL/SQL的不同块类型及其使用方法对于开发高效、...

    Oracle 11g pl/sql编程

    根据提供的文件信息,以下是对Oracle 11g PL/SQL编程知识点的详细说明: 标题中的“Oracle 11g PL/SQL编程”指出了文档的主旨,即介绍Oracle数据库的第11g版本中PL/SQL(过程式SQL)编程的技术细节和实践应用。PL/...

    精通Oracle 10g PL/SQL编程

    《精通Oracle 10g PL/SQL编程》是一本针对Oracle数据库系统中PL/SQL编程语言的深度解析书籍。Oracle 10g是Oracle数据库的一个重要版本,它提供了丰富的功能和改进,使得PL/SQL这一数据库编程语言在性能、可维护性和...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。...通过深入学习这本教材,你将能够掌握Oracle PL/SQL编程,从而有效地设计和实现数据库解决方案。

    pl/sql学习笔记

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的过程式编程语言,它结合了SQL查询语句和传统的过程式编程元素,使得在数据库管理中进行复杂逻辑处理成为可能。以下是对PL/SQL的学习笔记...

    PL/SQL编程

    ### PL/SQL编程 #### PL/SQL程序设计简介 **PL/SQL**(Procedure Language for SQL)是一种专门针对Oracle数据库设计的过程化语言。它结合了SQL的数据操纵能力与传统过程化语言的流程控制功能,使得开发者能够编写...

    ORACLE PL/SQL从入门到精通

    循环语句是PL/SQL编程中用来重复执行一组语句的结构,包括loop、while、for三种形式,它们各自有不同的使用场景和语法。 分支条件语句在PL/SQL中用来根据不同的条件执行不同的代码分支,主要包括CASE表达式和if-...

    oracle 经典资料及PL/SQL 使用指南 英文版

    二、PL/SQL编程 1. PL/SQL块结构:PL/SQL由声明部分、执行部分和异常处理部分组成。理解块的结构对于编写有效程序至关重要。 2. 变量与常量:PL/SQL支持声明变量和常量,用于存储数据。学习如何声明、初始化和改变...

    pl/sql程序设计ppt

    总结,PL/SQL提供了丰富的编程工具,如过程、函数、触发器和包,使开发者能更灵活地管理和操作数据库。通过学习和掌握这些概念,你可以创建高效、可维护的数据库应用程序。这份"pl/sql程序设计ppt"可能包含了对这些...

    oracle pl/sql fundamentals

    Oracle PL/SQL Fundamentals是Oracle University为学生设计的一份培训指南,旨在深入理解并掌握Oracle数据库中的PL/SQL编程基础。PL/SQL是Oracle数据库特有的结构化查询语言扩展,它结合了SQL的强大功能与过程性编程...

    PL/SQL工具

    2. **PL/SQL编程**:PL/SQL工具支持创建、修改和调试存储过程、函数、触发器和包等PL/SQL程序单元。这使得开发者能够将业务逻辑封装在数据库内,提高性能并减少与数据库的交互次数。 3. **数据库对象管理**:这些...

    PL/SQL development9.0.3

    PL/SQL是Oracle数据库系统中的一个关键组成部分,全称为Procedural Language/Structured Query Language,它是SQL的一个扩展,集成了编程语言的特点,使得开发者能够编写复杂的数据库应用。在"PL/SQL development ...

    PL/SQL中文包

    在Oracle环境中,PL/SQL允许开发者编写存储过程、函数、触发器和包,这些都是数据库级别的程序单元,可以高效地处理大量数据。 1. **存储过程**:存储过程是一组预先编译好的SQL语句,可以在需要时调用,减少了网络...

    oracle_oracle_oraclepl/sql_

    1. **PL/SQL简介**:PL/SQL是Oracle数据库的内置编程语言,用于创建存储过程、函数、触发器和包。它的语法基于SQL,但增加了流程控制、异常处理和数据类型等特性。 2. **变量和数据类型**:PL/SQL支持多种数据类型...

    PL/SQL学习教程,附笔记

    PL/SQL,全称是Procedural Language/Structured Query Language,是Oracle数据库提供的一种结合了SQL语言和过程式编程的编程环境。它扩展了SQL的功能,...本教程将逐步引导你深入这个领域,让你熟练掌握PL/SQL编程。

Global site tag (gtag.js) - Google Analytics