oracle 学习(三)pl/sql语言函数
- 系统内置函数
- 数学运算函数
- 字符串函数
- 统计函数
- 日期函数
- 用户定义函数:存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样
- 参数模式
- IN模式:表示该参数时输入给函数的参数
- OUT模式:表示该参数在函数中被赋值,可以传给函数调用程序
- IN OUT模式:表示该参数既可以传值也可以被赋值
- 创建函数
CREATE[OR REPLACE]FOUNCTION<函数名>
(
<参数名1>,<参数类型><数据类型>,
<参数名2>,<参数类型><数据类型>,
<参数名3>,<参数类型><数据类型>,
...
)
RETURN<返回值类型> /*定义返回值类型*/
{IS|AS}
[声明变量]
BEGIN
<函数体>
[RETURN(<返回表达式>);]
END[<函数名>];CREATE OR REPLACE FUNCTION 函数名称
(
in_pmt IN char,
out_pmt OUT char,
in_out_pmt IN OUT char
)
RETURN char
AS
return_char char;
BEGIN
<函数语句序列>
RETURN(return_char);
END[函数名称];CREATE OR REPLACE FUNCTION average(cnum IN char)
RETURN number
AS
avger number;
BEGIN
SELECT AVG(成绩)INTO avger
FROM CJB
WHERE 课程号=cnum
GROUP BY 课程号;
RETURN(avger);
END;- 语法要求
函数语句序列中可能出现的情况
IN模式:传递参数 对应变量为右值
OUT模式:在函数中被赋值 对应变量为左值 - 调用函数
CREATE OR REPLACE FUNCTION count_num(in_sex IN)
RETURN number
AS
out_num number;
BEGIN
IF in_sex='男'THEN
SELECT COUNT(性别)INTO out_num;
FROM XSB WHERE 性别=‘男';
ELSE
SELECT COUNT(性别)INTO out_num;
FROM XSB WHERE 性别=‘女';
END IF
RETURN(out_num);
END count_num;无论是在命令行还是在程序语句中,都可以通过名称直接在表达式中调用函数
格式:
<变量名>:=<函数名>[(<实参1>,<实参2>,..)] DECLARE
girl_num number;
BEGIN
girl_num:=count_num('女');
DBMS_OUTPUT.PUT_LINE(TO_CHAR(girl_num));
END; - 删除函数
DROP FUNCTION [<用户方案名>.]<函数名>
eg:
DROP FUNCTION count_num;
oracle 学习(三)pl/sql语言函数的更多相关文章
- 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式
目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...
- 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询
目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...
- Oracle PL/SQL语言函数、匿名语句及循环
一.自定义函数 格式: create or replace function 函数名(参数名 参数类型...) return 返回值类型 as xx vachar2(20) ...
- Oracle学习笔记六 SQL常用函数
函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类:
- oracle学习之pl/sql使用==转载
PLSQL循序渐进全面学习教程(全):https://blog.csdn.net/spark998/article/details/2065269
- Oracle11g R2学习系列 之九 PL/SQL语言
这是个重头戏,如果精通了PL/SQL,毫不夸张的说明精通了Oracle了.PL/SQL由以下三个部分组成(Definition,Manipulation,Control): DDL:数据定义语言,Cr ...
- Oracle PL/SQL 语言(Procedural Language/SQL)
Oracle PL/SQL 语言(Procedural Language/SQL)是结合了结构化查询与 Oracle 自身过程控制为一体的强大语言,PL/SQL 不但支持更多的数据类型,拥有自身的变量 ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- Oracle数据库之PL/SQL过程与函数
Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...
随机推荐
- JAVA - SpringBoot项目引用generator生成 Mybatis文件
JAVA - SpringBoot项目引用generator生成 Mybatis文件 在spring官网https://start.spring.io/自动生成springboot项目,这里选择项目 ...
- SparkStreaming 笔记
简介 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的准实时数据流处理. 实时数据的来源可以是:Kafka, Flume, Twitter, Zer ...
- 摩尔纹滤镜moir
function moir(imgData) { var width = imgData.width, height = imgData.height, pixelData = imgData.dat ...
- Linux基础命令层级图-01
Linux基础命令层级图-01:
- 【转载】使用driver.findElement(By.id("txtPhoneNum")).getText();获取文本
今天在写自动化测试脚本的时候要获取一个输入框中的文本写了如下脚本: getAndSwitch("http://cas.minshengnet.com:14080/register/eRegi ...
- Windows2008R2安装DNS和SQLServer200r2服务 (9.18第七天)
原文网址:https://www.cnblogs.com/yankaohaitaiwei/p/11538205.html 二.IIS搭建web服务器 1.格式化D盘,一定要选择NTFS!!!不然后面添 ...
- Flink并行度
并行执行 本节介绍如何在Flink中配置程序的并行执行.FLink程序由多个任务(转换/操作符.数据源和sinks)组成.任务被分成多个并行实例来执行,每个并行实例处理任务的输入数据的子集.任务的并行 ...
- Bandwagon 安装 Mysql 数据库
Bandwagon 安装 Mysql 数据库 1.搬瓦工系统准备 建议使用版本Centos6 x86_64,安装完成后,使用远程登陆软件登陆. 2.安装编译工具及库文件 yum -y install ...
- POJ - 2385 Apple Catching (dp)
题意:有两棵树,标号为1和2,在Tmin内,每分钟都会有一个苹果从其中一棵树上落下,问最多移动M次的情况下(该人可瞬间移动),最多能吃到多少苹果.假设该人一开始在标号为1的树下. 分析: 1.dp[x ...
- Notepad++配置
笔记来源于视频: http://baidu.iqiyi.com/watch/498601896985630918.html?page=videoMultiNeed notepad++ 有个很重要问题, ...