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子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...
随机推荐
- Mac修改用户名后程序配置和文件都找不到了?
小编今天手残,修改mac 的用户名,幸亏文件没丢失,要不然配置程序估计至少要花费周末的两天时间了.. 所幸的是,各种Google,终于找回了原用户名下的所有配置. 接下来,讲讲小编如何入坑又如何脱坑的 ...
- P 1017
转跳点:
- 10 ~ express ~ 使用 cookie 保存用户 信息
思维导图: (1) 保存 cookie (2)销毁 cookie 一,保存 cookie 1,app.js . 新增代码 var Cookies = require('cookies') /** * ...
- sqlserver 联接查询的一些注意点
1.内连接的安全性 (1) inner join 是ANSI SQL-92 语法.等值联接是ANSI SQL-89 的语法 ,两者已相同方式解释.在性能上没有差别 (2)但是强烈建议使用ANSI SQ ...
- 1. react 简书 项目初始化
1. 创建 react 项目 npx create-react-app my-app 2. src 目录下删除 除了 index.js index.css app.js 的文件 3. 引入 style ...
- 18 12 30 服务器 Django 的初步使用 环境变量的调整
1.安装django 1.1.下载Django包 https://www.djangoproject.com/download/https://www.djangoproject.com/m/rele ...
- jdk1.6以后 对synchronized锁做了哪些优化
1.适应自旋锁 自旋锁:为了减少线程状态改变带来的消耗 不停地执行当前线程 2.锁消除: 不可能存在共享数据竞争的锁进行消除 3.锁粗化: 将连续的加锁 精简到只加一次锁 4.轻量级锁: 无竞争条件下 ...
- 用Pandas Dataframe来架构起金融股票数据的内部形态
2. 金融股票数据的另一个形态,怎样在业务内部流动,同时怎样避免错误 前一篇讲解了股票的原始状态,那麽在业务过程中,数据会变成怎样的形态,来完成众多奇奇怪怪的业务呢,以下将会解答. 首先,任何股票都有 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL NULL 值处理
MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,MySQL提供了三大运算符 ...
- PAT Advanced 1115 Counting Nodes in a BST (30) [⼆叉树的遍历,BFS,DFS]
题目 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following proper ...