函数的创建和调用及删除

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

函数和存储过程非常类似,也是可以存储在 Oracle 数据库中的 PL/SQL代码块,但是有返回值。

可以把经常使用的功能定义为一个函数,就像系统自带的函数(例如前面章节介绍的大小写转换,求绝对值等函数)一样使用。

函数创建的基本语法格式如下所示

CREATE OR REPLACE FUNCTION 函数名
[< 参数 1> INIOUTIIN OUT<参数类型 >[ 默认值 |:= 初始值 ]]
[,<参数 2> INIOUTIIN OUT< 参数类型 >[ 默认值 |:= 初始值 ],…]
RETURN 返回数据类型
ISIAS
[局部变量声明 ]
BEGIN
程序语句序列
[EXCEPTION]
异常处理语句序列
END 过程名

其中的参数说明如下。
(1)OR REPLACE 为可选参数,表示如果数据库中已经存在要创建的函数,则先把原先函数删除再重新建立函数,或者说覆盖原先的函数。
(2)如果过程中存在参数,则需要在参数后面使用“INIOUTIN OUT”关键字。

如果是输入参数则参数后面用“IN”关键字,表示接受外部过程传递来的值;如果是输出参数,

则参数后面用“OUT’关键字,表示此参数将在过程中被复制,并传递给过程体外;如果是“IN OUT”关键字,

则表示该参数既具有输入参数特性,又具有输出参数的特性。默认是 I 参数,即如果不写就默认为 IN 参数。

(3)参数类型不能指定长度,只需给出类型即可
(4)函数的返回类型是必选项
(5)局部变量声明中所定义的变量只在该函数中有效。

(6)局部变量声明、程序语句序列和异常处理语句序列定义以及使用同上一章 PL/SQL块。在函数的主程序段中,必须使用 RETURN 语句返回最终的函数值,并且返回值的数据类型要和声明的时候说明的类型一样。

函数的调用基本上与系统内置函数的调用方法相同。可以直接在 SQL Plus 中使用,也可以在存储过程中使用。后面将通过范例来介绍如何调用。
函数的删除与存储过程的删除类似,基本语法格式如下所示。

DROP FUNCTION 函数名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数仓建模—逻辑数据模型

数仓建模—逻辑数据模型 数据模型是数据元素及其基于现实世界对象之间的关系的可视化表示。数据模型揭示并定义数据在业务流程中的连接方式,并支持创建高效的信息系统或应用程序。例如,在商业智能中,数据模型定义用户可以在其分析中使用哪种数据。 逻辑数据模型 (LDM Logi…

【C++ STL序列容器】array 数组

文章目录 【 1. 基本原理 】【 2. array 的创建 】2.1 不赋初值2.2 赋默认值2.3 赋指定值 【 3. array 的成员函数 】实例 【 1. 基本原理 】 array 是在 C 普通数组的基础上添加了一些成员函数和全局函数。在使用上&#xff0c;它 比普通数组更 安全&#xff0c;且效率并没…

以太网帧格式解析

以太网的正式标准是IEEE802.3&#xff0c;它规定了以太网传输的帧结构。 以太网帧格式如下图所示&#xff1a; 以太网传输数据时&#xff0c;是按照上图的格式&#xff0c;自左到右依次传输的。需要注意的是前导码和SFD不属于以太网协议的内容&#xff0c;应该是属于物理层数据…

Java集合-List

目录 1、List 1.1 List集合特有方法 1.1.1 增加 1.1.2 删除 1.1.3 修改 1.1.4 查找 1.2 ArrayList 1.3 LinkedList 1.4 Vector 1、List ---| Iterable 接口 Iterator iterator() ----| Collection 接口 ------| List 接口 元素可以重复…

学习ArkTS -- 状态管理

装饰器 State 在声明式UI中&#xff0c;是以状态驱动试图更新&#xff1a; 状态&#xff08;State&#xff09;&#xff1a;指驱动视图更新的数据&#xff08;被装饰器标记的变量&#xff09; 视图&#xff08;View&#xff09;&#xff1a;基于UI描述渲染得到用户界面 说明…

病理验证mIF和TMA路线(自学)

目录 技术 使用配对病理切片 mIF验证 单基因使用TMA验证 技术 多重荧光免疫组化技术 (Multiplex immunohistochemical&#xff0c;mIHC) 也称作酪氨酸信号放大 (Tyramide dignal amplification&#xff0c;TSA) 技术&#xff0c;是一类利用辣根过氧化酶 (Horseradish Pero…

MyBatis 面试题(六)

1. MyBatis 有几种分页方式&#xff1f; MyBatis 的分页方式主要可以分为两大类&#xff1a;逻辑分页和物理分页。 逻辑分页是一次性把全部数据查询加载进内存&#xff0c;然后再进行分页。这种方式减少了IO次数&#xff0c;适合频繁访问、数据量少的情况&#xff0c;但不适合…

weblogic反序列化漏洞(CVE-2017-10271)复现

直接用vuluhub搭建现成的靶场做 访问靶场 打开是这样表示成功 想反弹shell 就先开启kali1的nc监听&#xff0c;这就监听2233端口吧 linux&#xff1a;nc -l -p 2233 抓包修改为攻击数据包 ip和端口可以任意修改 反弹的shell 还可以写入文件shell 只需要把提供的poc POS…

【代码随想录】day44

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、完全背包理论基础二、518零钱兑换 II三、377组合总和 Ⅳ总结 一、完全背包理论基础 完全背包&#xff1a;每个物品可以使用无数次。 二、518零钱兑换 II cla…

修复Windows搜索不工作的几种方法,总有一种适合你

序言 Windows搜索是Windows 10中一个非常有用的功能,它允许你搜索特定的程序、应用程序、文档、图片、文件、设置等,以便快速访问它们。但有时Windows搜索找不到我们预期的结果,甚至没有响应,这会给Windows用户带来很多不便。如果Windows 10中的搜索栏不工作,该怎么办?你…

【MySQL】SQL优化

SQL优化 插入数据 insert 一次插入数据和批量插入数据 insert into tb_test (id, name) values (1,Tom); insert into tb_test (id, name) values (1,Tom),(2,Jack),(3,Jerry);优化方案&#xff1a; 手动控制事务&#xff0c;且按主键顺序插入。start transaction; insert …

机器人实验室LAAS-CNRS介绍

一、LAAS-CNRS介绍 1、缩写介绍 同样的&#xff0c;给出英文缩写的全称&#xff0c;以便理解。这里的LAAS&#xff08;Laboratory for Analysis and Architecture of Systems&#xff09;指法国的系统分析与架构实验室&#xff0c;CNRS&#xff08;Centre National de la Rec…

[leetcode]jump-game-iv

. - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 arr &#xff0c;你一开始在数组的第一个元素处&#xff08;下标为 0&#xff09;。 每一步&#xff0c;你可以从下标 i 跳到下标 i 1 、i - 1 或者 j &#xff1a; i 1 需满足&#xff1a;i 1 < arr.lengt…

oracle存储过程—游标

游标 CURSOR --隐式游标 select into--只能返回一行数据 --显示游标 :处理多行数据,一行一行去处理数据的循环 语法1: DECLAREcursor c_emp ISselect ename,sal from emp;---把查询到的emp表的数据放到游标c_emp中v_row c_emp%rowtype; --引用数据库中的一行(所有字段)作…

C# 十进制数转换为十六进制

在C#中&#xff0c;将十进制数转换为十六进制可以通过以下几种方式实现&#xff1a; 方法一&#xff1a;使用 ToString() 方法 对于整数类型的十进制数&#xff0c;可以直接调用其 ToString() 方法&#xff0c;并传入格式字符串 "X" 或 "x" 来表示转换为…

OpenHarmony实战开发-提升应用响应速度。

应用对用户的输入需要快速反馈&#xff0c;以提升交互体验&#xff0c;因此本文提供了以下方法来提升应用响应速度。 避免主线程被非UI任务阻塞减少组件刷新的数量 避免主线程被非UI任务阻塞 在应用响应用户输入期间&#xff0c;应用主线程应尽可能只执行UI任务&#xff08;…

【电控笔记6.3】采样-Z转换-零阶保持器

本质 数字转模拟:零阶保持器 采样 z-1所描述的物理意义即为延迟T时间的拉氏转换e-sT 信号采样延时

Python --- 新手小白自己动手安装Anaconda+Jupyter Notebook全记录(Windows平台)

新手小白自己动手安装AnacondaJupyter Notebook全记录 这两天在家学Pythonmathine learning&#xff0c;在我刚刚入手python的时候&#xff0c;我写了一篇新手的入手文章&#xff0c;是基于Vs code编译器的入手指南&#xff0c;里面包括如何安装python&#xff0c;以及如何在Vs…

【通信原理笔记】【四】数字基带传输——4.1 数字基带信号

文章目录 前言一、数字信号二、数字基带信号波形2.1 码元波形2.2 相对码2.3 多电平码 总结 前言 从这一节开始介绍数字通信系统中的数字基带传输部分。与模拟通信系统相比&#xff0c;数字通信系统传输的对象是数字的离散信号而非连续的模拟信号&#xff0c;本节先学习什么是数…

bfs解答迷宫

bfs解答迷宫问题 #include<bits/stdc.h> using namespace std; int dir[4][2]{-1,0,0,-1,0,1,1,0};//方向数组规律去记忆&#xff08;有对称规律&#xff09; int bfs(vector<vector<char> >& maze,vector<vector<bool> >& vis,int sx…