oracle中存储函数与存储过程的区别介绍
作者:Jamyson 发布时间:2023-07-12 23:40:15
标签:oracle,存储过程,存储函数
在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己做一个总结:
一:存储过程:简单来说就是有名字的pl/sql块。
语法结构:
create or replace 存储过程名(参数列表)
is
--定义变量
begin
--pl/sql
end;
案例:
create or replace procedure add_(a int,b int)
is
c int;
begin
c:=a+b;
dbms_output.put_line(c);
end;
调用存储过程
declare
begin
add_(12,34);
end;
存储过程的三种类型参数:
输入参数(默认) in
输出参数 out
输入输出参数 in out
函数定义
语法结构:
create or replace function 函数名(参数列表) return 类型
is
begin
end;
案例:
create or replace function f1(n1 dec,n2 dec) return dec
is
r dec(19,2);
begin
r:=n1/n2;
return r;
exception
when zero_divide then
dbms_output.put_line('除数不能为0');
return 0;
end;
存储过程与存储函数的区别和联系:
相同点:1.创建语法结构相似,都可以携带多个传入参数和传出参数;
2.都是一次编译,多次运行;
不同点:1.存储过程定义关键字用procedure,函数定义用function;
2.存储过程中不能用return返回值,但函数中可以,而且函数中必须有return返回;
3.执行方式略有不同,存储过程的执行方式有两种(1.使用execute;2.使用begin和end)函数除了
存储过程的两种方式,还可以当做表达试使用,例如放在select中(select f1() from dual;)
总结:如果只有一个返回值,用存储函数,否则,一般用存储过程。
以上所述是小编给大家介绍的oracle中存储函数与存储过程的区别介绍,希望对大家有所帮助
来源:http://blog.csdn.net/heligui/article/details/78315800


猜你喜欢
- 前言可选链操作符(?.)允许读取位于链接对象链身处的属性的值,而不必明确验证链中的每个引用是否有效。不同之处在于,在引用为空(null或者u
- 1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。>>> s1="
- 写一个python脚本,实现简单的http服务器功能:1.浏览器中输入网站地址:172.20.52.163:200142.server接到浏
- FBVFBV,即 func base views,函数视图,在视图里使用函数处理请求。以用户注册代码为例,使用两个函数完成注册初级注册代码d
- 代码import osfrom PIL import Imageimport tkinterimport tkinter.filedialo
- 名称:YUI Compressor最新版本:2.4.2用途:js/css压缩必备指数:使用难度:(YUI Compressor非常易用,只是
- 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
- 目录1. 流程分析2. 具体实现3. 百度图片爬虫+生成素描图我给大家带来的是 50行代码,生成一张素描图。让自己也是一个素描“大师”。那废
- 【人工智能项目】Python Flask搭建yolov3目标检测系统后端代码from flask import Flask, request
- 本文实例总结了PHP常用字符串函数用法。分享给大家供大家参考,具体如下:字符串函数explore使用一个字符串分割另一个字符串结果为数组&l
- 目前整个开发社区对AOP(Aspect Oriented Programing)推崇备至,也涌现出大量支持AOP的优秀Framework,-
- 众所周知,随着数据库体积的日益庞大,其备份文件的大小也水涨船高。虽然说通过差异备份与完全备份配套策略,可以大大的减小SQL Server数据
- 需求:需要在pycharm中跑一个深度学习的项目但是tensorflow包导不入问题分析:当前使用的是anaconda的3.8版本,无法正常
- pandas批量处理体测成绩import numpy as npimport pandas as pdfrom pandas import
- 要求:#出租车计费*************************************************************
- ORACLE访问SQL SERVER数据库有一篇《Oracle 异构服务实践》讲得很清楚。但里面没有讲如何设置访问多个SQL Server数
- 本文实例讲述了Python闭包实现计数器的方法。分享给大家供大家参考。具体实现方法如下:先来看看专业的解释:闭包(Closure)是词法闭包
- 在定义图结构之前不用加入gpu:0,只有在session中计算之前在加入,否则的话会提示不能使用gpu保存模型等问题。 with  
- 本节内容:本节内容是根据上学期所上的模式识别课程的作业整理而来,第一道题目是Kmeans聚类算法,数据集是Iris(鸢尾花的数据集),分类数
- MS SQL数据库日志压缩方法 MS SQL性能是很不错的,但是数据库用了一段时间之后,数据库却变得很大,实际的数据量不