orcale 之函数
我们知道存储过程的调用是一条 PL/SQL 语句。那么对于一些表达式我们用什么呢?这里函数的功能就会体现出来了。
函数和过程在创建方式上有很多的类似地方,也是编译后放入内存中以供用户使用,只不过函数调用的时候是以表达式的形式。另外,函数必须有返回值,而过程是没有的。
创建函数:
创建函数的语法如下:
CREATE [OR REPLACE] FUNCTION(<参数1>,[方式1]<数据类型1>,<参数2>,[方式2]<数据类型2>......)
RETURN<表达式>
IS|AS
PL/SQL 主体
其中 RETURN 是声明返回值的类型,而在函数的主体部分必须有一个 RETURN。通常来说函数只有 in 类型的参数。
例子:根据员工的职位查找当前职位员工的个数
create or replace function count_num(in_job in varchar2) return number is
out_num NUMBER;
begin
select count(*) into out_num from emp where job = in_job;
return(out_num);
end count_num;
调用函数
select count_num('CLERK') from dual; COUNT_NUM('CLERK')
------------------
3
当然我们也可以在程序中调用:
DECLARE
count_number NUMBER;
BEGIN
count_number:=count_num('CLERK');
END
删除函数
当一个函数不再使用的时候可以对其进行删除。
DROP FUNCTION count_num;
当你发现一个函数已经存在,想要修改它只需要使用 CREATE OR REPLACE FUNCTION count_num; 并不是删除再重新创建。
orcale 之函数的更多相关文章
- Orcale日期函数to_date(),to_char()
日期转换的两个函数分别是to_date()和to_char(),to_date() 作用将字符类型按一定格式转化为日期类型, to_char() 将日期转按一定格式换成字符类型 其中当时间需要精确的时 ...
- Orcale常用函数
1.ascii 作用: 返回指定的字符对应的十进制数 select ascii('A') ,ascii('a'),ascii(' ') from dual; 2.chr 作用:给出整数,返回对应的字符 ...
- Orcale创建函数(function)
Oraclec创建函数的语法规则 create or replace function 函数名 (参数名1 参数类型,参数名2 参数类型) return number is Result num ...
- orcale 单行函数之数字函数, 日期函数
日期函数: 案例:
- orcale单行函数之字符函数
- orcale和hive常用函数对照表(?代表未证实)
函数分类 oracle hive 说明 字符函数 upper('coolszy') upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式 lower('K ...
- Orcale的NVL、NVL2函数和SQL Server的ISNULL函数
Orcal 的 nvl函数 NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值,Expr1,Expr2都为NULL则返回NULL NVL2(Expr1 ...
- orcale函数
字符函数 1.ASCII 返回与指定的字符对应的十进制数; select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space ...
- orcale 函数wm_concat不存咋lob值使用zh_concat 替换
create or replace TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT ( CURR_STR VARCHAR2(32767), STATIC ...
随机推荐
- Android-ContentProvider简单的增删改查
注意:在ContentProvider里面写对数据库增删改查的时候,千万不能 db.close(); cursor.close(); 等操作,不然其他应用访问不到数据,也没有必要写isOpen(); ...
- [LeetCode 题解]: Count and Say
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...
- Window 服务启动出错 14001
在安装windows服务时,没有异常情况,但是在启动的过程中出现 14001错误. 错误 14001 应用程序无法启动 因为应用程序的并行配置不正确 有关详细信息 请参阅应用程序事件日志 或使用命令行 ...
- C#设计模式--工厂模式和抽象工厂模式
话说有三大潮牌公司一直相互PK,有一天举办了一个活动让这三大公司来一个PK,我们来看看哪家公司的上衣做出来好看穿得舒服 现在我们有一个上衣的抽象产品让三大公司来做 //抽象产品 public inte ...
- Conditional Expressions
Conditional Expressions建立一些逻辑关系 The conditional expression classes from django.db import models clas ...
- 比特币解锁脚本中的ScriptSignature都包含了什么东西
比特币 解锁脚本signature script 包含了那些东西? 使用 UTXO 需要私钥签名,私钥到底都签了什么东西呢?一直比较好奇. 比特币的私钥签名总共有五中类型,具体见 btcd 代码,如下 ...
- Python Python入门
Python入门 今天开会的时候,领导说起python,说的那个叫人心动,于是乎就有了下面的东西.起步开始---------------- 一.概念: 参考:http://www.runoob.com ...
- 「JXOI 2018」 排序问题
题目链接 戳我 \(Solution\) \(50\ pts\) 我们来看一下题目,可以很容易的写出来答案的式子: \[\frac{(n+m)!}{a_1!a_2!...a_{tot}!}\] \(a ...
- “全栈2019”Java第八章:IntelliJ IDEA设置注释不显示在行首
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 二,php的错误处理
php处理错误的三种方式: 简单的die()语句: 自定义错误和错误触发器:错误日志: 1,简单的die()语句 if(!file_exists("aaa.txt")){ die( ...