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; 并不是删除再重新创建。

时间: 2024-11-08 09:00:55

orcale 之函数的相关文章

orcale 单行函数之数字函数, 日期函数

日期函数: 案例:

Orcale日期函数to_date(),to_char()

日期转换的两个函数分别是to_date()和to_char(),to_date() 作用将字符类型按一定格式转化为日期类型, to_char() 将日期转按一定格式换成字符类型 其中当时间需要精确的时候,最好使用to_char()使用字符类型进行比较,比较方法(=.>=. <=.between   and )<.>需要转义,分别为<  > to_date: to_date('2018-01-20','yyyy-mm-dd'),前者为字符串,根据传入的格式模板将字符串日期

orcale函数

字符函数    1.ASCII 返回与指定的字符对应的十进制数;  select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; 2.CHR 给出整数,返回对应的字符;  select chr(54740) zhao,chr(65) chr65 from dual; 3.CONCAT 连接两个字符串;字符串处理函数.  select concat('010-','88888888')||'转23' 高乾竞

orcale和hive常用函数对照表(?代表未证实)

函数分类 oracle hive 说明 字符函数 upper('coolszy') upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式 lower('KUKA') lower(string A) lcase(string A) 将文本字符串转换成字母全部小写形式 initcap('kuKA aBc') 无  将每个单词的首字母大写,其他位置的字母小写 concat('Hello',' world') concat(string A, string 

第二阶段 MySQL函数库

一位初学php的随堂笔记,记录自己的成长! 一.数据库(DataBase DB) 1.数据库:存储数据的仓库 2.数据库分类: (1)关系型数据库:二维表存储数据(Mysql,SQLServer,Orcale,DB2等) (2)非关系型数据库(Nosql):MongDB等 3. Mysql安装 (1)window:配置文件 my.ini 进入命令行 开始--运行--cmd (2)Linux:配置文件:/etc/my.cnf 终端 mysql -uroot -p 说明: Mysql 数据库的存储位

MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法

在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法. 可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应用总结归纳一下,以方便大家查询使用. 下面就分别给大家介绍.讲解一下三种数据库实现分页查询的方法. 一. MySQL 数据库分页查询 MySQL数据库实现分页比较简单,提供了LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有

MySQL与Oracle 差异函数比较

编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) value from dual MYSQL:select round(1.23456,4) value 2 abs(-1) abs(-1) 功能: 将当前数据取绝对值 用法: oracle和mysql用法一样 mysql: select abs(-1) value oracle: select abs(

js高阶函数

map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,