函数的创建和调用及删除

news/2024/9/23 7:24:41/

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

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

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

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

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 中使用,也可以在存储过程中使用。后面将通过范例来介绍如何调用。
函数的删除与存储过程的删除类似,基本语法格式如下所示。

sql">DROP FUNCTION 函数名


http://www.ppmy.cn/news/1431645.html

相关文章

Langchain入门到实战-第四弹

Langchain入门到实战 Langchain中的提示词官网地址Langchain概述Langchain的提示词用法更新计划 Langchain中的提示词 语言模型提示模板是预定义的生成语言模型提示的方法。模板可能包括指令、少样本示例、特定任务的上下文和问题。LangChain 提供了创建和处理提示模板的工具。…

什么是SSRF攻击?该如何防御SSRF攻击?

随着网络安全形式日益严峻&#xff0c;各式各样的攻击频繁发生。当前&#xff0c;应用程序为了给用户提供更多更方便的功能&#xff0c;从另一个URL获取数据的场景越来越多&#xff0c;因此出现了一种安全漏洞攻击-SSRF。并且&#xff0c;由于云服务和体系结构的复杂性&#xf…

Java单例模式的五种实现方式 懒汉式 饿汉式 双重校验锁 静态变量 静态内部类 枚举实现单例模式等

1、什么是单例模式&#xff1f; Java单例模式是一种设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供全局访问点以获取该实例。它通常用于需要共享资源或控制某些共享状态的情况下。 2、实现方式 懒汉式&#xff1a;在类加载的时候就创建对象&#xff0c;…

c++模拟实现list——详讲双链表--链表

在C语言中我们已经模拟实现了list&#xff0c;现在对比c看看二者的区别 双链表————详讲 个人博客主页&#xff1a; 个人主页 个人码云 码云代码 文章目录 目录 文章目录 ​编辑 前言 一、list是什么&#xff1f; 二、list的使用 三、模拟实现list和搭建list的结构 1.节点结…

Qt 集成VTK

Qt hello | 专注于Qt的技术分享平台 一&#xff0c;需求集成VTK环境到Qt中 二&#xff0c;步骤 下载vtk源码&#xff0c;并使用cmake 结合vs2019编辑成dll库。GitHub - Kitware/VTK: Mirror of Visualization Toolkit repositoryQt工程引入&#xff0c;库比较多&#xff0c;…

java锁常识

AQS框架 AQS&#xff08;AbstractQueuedSynchronizer&#xff09;是 Java 中用于构建锁和同步器的基础框架。它提供了一种实现同步器的方式&#xff0c;使得开发者可以基于 AQS 构建各种类型的同步工具&#xff0c;如独占锁、共享锁、信号量等。 AQS 主要基于 FIFO 队列&…

Java 基础:工厂方法模式

工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一个创建对象的通用接口&#xff0c;但将实际创建逻辑推迟到子类中实现。这种模式允许客户端使用抽象接口来创建特定类型的对象&#xff0c;而无需了解具体的实现细节。以…

【后端】python深度学习的详细指引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是深度学习二、python深度学习的详细指引1. 确定学习目标和项目2. 学习基础知识3. 选择合适的深度学习框架4. 学习深度学习理论5. 实践项目6. 深入学习…