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 ...
随机推荐
- 详解C#中的反射(转发)
https://www.cnblogs.com/Stephenchao/p/4481995.html 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况 ...
- vs 页面浏览不显示.aspx后缀名
转:http://www.cnblogs.com/hllive/p/6029763.html 由vs2013新建“web窗体应用程序”的网站,URL不显示扩展名.那今天就实现该功能 1.首先打开vs2 ...
- A. The Meaningless Game(数学)
A. The Meaningless Game time limit per test:1 second memory limit per test:256 megabytes input:stand ...
- vue.js 一些知识点
vue.js 也是试图层的运用方法,跟react的方法类似,不过也有许多的不同地方: 1.vue.js 对于数据也是用{{ }} 进行数据更新: 2.vue.js 使用 v-html 指令用于输出 h ...
- MkDocs 文档生成逻辑浅析
Markdown 和 MkDocs 简介 Markdown 的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人用它写博客.世界上最流行的博客平台 WordPress 和大型 CMS 如 Jo ...
- 基于KMP与Levenshtein模糊匹配算法的银行联行号查询
在人民银行那里,每个银行的每一个营业网点都有自己唯一的银行联行号,根据这个号码能快速定位一间银行具体的分支行,就像根据一个身份证号码能快速确定一个人一样.例如汇款时,汇款单上要求填写收款人开户行,然后 ...
- XPath语法使用的一些心得
XPath语法还是很强大的,支持一些函数和操作符,方便操作,但是因为版本的原因可能有的函数只能在XPath2(2007)里使用,而不能在XPath1(1999)中使用,比如函数 ends-with(s ...
- [译文]casperjs的API-clientutils模块
casper提供了少量的客户端接口用来进行远程DOM环境注入,通过clientutils模块的ClientUtils类实例中的__utils__对象来执行: casper.evaluate(funct ...
- POJO和Javabean的区别:
pojo:存粹java类,不继承,不实现.(不受限制的java类),多用于指数据库的映射对象javaBean:可复用组件,由容器(tomcat)创建,因此应具有无参构造器,不能跨进程访问,通常要无方法 ...
- Hibernate框架基础
Hibernate框架基础 Hibernate框架 ORM概念 O, Object 对象 R, Realtion 关系 (关系型数据库: MySQL, Oracle…) M,Mapping 映射 OR ...