Oracle数据库子程序之存储过程和函数调用

本文详细介绍了Oracle数据库中的存储过程和函数的创建、调用及其区别。内容包括开发步骤、参数模式、调用方式以及如何在数据字典中查询相关信息。同时,探讨了过程与函数在性能、安全性和模块化等方面的优势。
摘要由CSDN通过智能技术生成

Oracle数据库子程序之存储过程和函数调用

PL/SQL——无名块,不存储在数据库中,不能从其他的PL/SQL块中调用。而下面介绍的结构——函数、过程、包和触发器都是有名块,它们可以存储在数据库中,并且可以在需要的任何地方进行调用。

1、开发一个存储过程和函数的步骤:

(1).用系统编辑器或文字处理软件写一个含有CREATE PROCEDURE或CREATE FUNCTION语句的脚本文件;(2.) 在写CREATE PROCEDURE或CREATE FUNCTION语句时,应该充分考虑运行时出错的处理,即应该考虑例外处理EXCEPTION;(3). 在SQL*PLUS中运行脚本文件,将过程或函数的源代码编译成编译代码P_code,把两种代码存储到数据库中;(4). 调试编译错误;(5). 在Oracle环境下调用开发的函数或存储过程。 

注意:

不论编译是否成功,创建过程/函数命令CREATE PROCEDURE或CREATE FUNCTION都将自动把其源代码存入数据库中,而编译代码只有在编译成功后才能存入数据库中。

只有编译代码被存入到数据库的存储过程和函数才能被调用。 

2.1、创建过程:

创建过程语句的语法如下所示:

      

 IN、OUT、IN OUT三种模式的描述:

模  式

描  述

IN(默认模式)参数

(输入参数)

用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。

OUT参数

(输出参数)

用来从过程中返回值给调用者,不能将此参数的值赋给另一个变量,不能是常量或表达式。在过程体内,必须给OUT参数赋值。

IN OUT参数

(输入输出参数)

既可以从调用者向过程中传递值,执行过程后还可返回可能改变了的值给调用者。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值