oracle 之 函数
本次主题 青涩/色
函数的结束一定要使用return语句返回一个与声明匹配的值
--语法:
create[or replace] function<函数名> [(参数列表)]
return数据类型
is|as (is或as完全等价 )
[局部变量声明]
begin
pl/sql函数体
end[<函数名>]
--函数 没有参数
create or replace function getCount
return number
as v_num number;
begin
select count(*) into v_num from v_emp;
return v_num;
end;
--调用函数1
select getCount() from dual;
--调用函数2 plsql语句块
declare
num number;
begin
num := getCount();
dbms_output.put_line(num);
end;
--带有 in 参数的函数, in 默认 ,可以使用select语句和plsql语句块调用函数
create or replace function getName(v_name varchar2)
return varchar2
as
v_person v_emp%rowtype;
v_str varchar2(100);
begin
select * into v_person from v_emp where ename = v_name;
v_str := '当前人是'||v_person.ename||' 工资是'||v_person.sal;
return v_str;
end;
--调用函数 select语句
select getPersonByName('SMITH') from dual;
--调用函数 plsql语句块
declare
a_name varchar2(50);
begin
a_name := getName('SMITH');
dbms_output.put_line(a_name);
end;
--带有 out 参数的函数 函数携有out参数的,只能使用plsql语句块调用函数
create or replace function getSal(p_name varchar2,e_sal out number)
return varchar2
as
v_st varchar2(100);
begin
select sal into e_sal from v_emp where ename=p_name;
v_st := p_name||'每个月开'||e_sal||'元';
return v_st;
end;
--调用函数 plsql语句块
declare
v_str varchar2(20);
v_sal number;
begin
v_str := getSal('SMITH',v_sal);
dbms_output.put_line(v_str);
dbms_output.put_line(v_sal);
end;
-- 带有 in out 参数的函数 同样有out参数的函数,只能由plsql语句块调用函数
create or replace function swap(num1 in out number,num2 in out number)
return varchar2
as
temp number;
begin
temp := num1;
num1 := num2;
num2 := temp;
return 'abc';
end;
--调用函数
declare
num1 number := 10;
num2 number := 20;
v_str varchar2(20);
begin
dbms_output.put_line(num1||'=========='||num2);
v_str := swap(num1,num2);
dbms_output.put_line(num1||'=========='||num2);
end;
oracle 之 函数的更多相关文章
- oracle add_months函数
oracle add_months函数 add_months 函数主要是对日期函数进行操作,举例子进行说明 add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为 ...
- Oracle to_date()函数的用法
Oracle to_date()函数的用法 to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,供您参考学习. 在Orac ...
- Oracle over函数
Oracle over函数 SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DE ...
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle SQL函数
Oracle将函数大致分为单行函数,聚合函数和分析函数. 单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数 一.字符函数 1)大小写控制函数 01.Lower() 全部小 ...
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
- oracle中函数和存储过程的区别和联系【转载竹沥半夏】
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
- 转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select ...
- oracle日期函数转换真麻烦。。。
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- Oracle to_char()函数的使用细则
Oracle to_char()函数的使用细则,学习连接 http://www.cnblogs.com/reborter/archive/2008/11/28/1343195.html
随机推荐
- 关于HTML5中video标签的奇怪现象
很多人刚开始学习html5 的时候在使用video标签时会出现这样的情况: 发现video标签在网页中播放时只有声音但是没有图像,如: <!DOCTYPE html> <html&g ...
- 计算机视觉(Computer Version,CV)、模式识别、人工智能
一.计算机视觉 Divid Marr将计算机视觉系统的开发问题归纳为3个要素: (1)数学理论 考虑数学计算层面的目标及可以引入的合理约束条件. (2)描述和算法 重点解决计算机视觉中的输入输出的数据 ...
- ThinkPHP的缓存技术
原文:ThinkPHP的缓存技术 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷.假如我们 把读取数据的过程分为三个层,第一个 ...
- 与子域名共用session信息
参考自 http://www.jb51.net/article/19664.htm 下面的步骤只使用于两个域名在同一个服务起得情况下,如果不在一个服务器上,就需要考虑通过数据库来存储session信息 ...
- php随机数、时间、字符串函数,正则,数组函数
<?php//1.随机数和时间//echo rand(); //随机数生成器//echo rand(0,10); //生成某个范围内的随机数 //echo time(); //取当前时间戳//e ...
- windows磁盘分区
windows 下对磁盘进行分区吗,如何调整大小. N的输入单位为GB,输出单位为MB; (N-1)4+1024N;
- 9.请写出PHP5权限控制修饰符
1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...
- 【实践】jquery实现滑动动画及轮播
在做这个之前我已经模仿了一遍大神的轮播动画做了一次其切换模式就是一张图片隐藏另一张图片显示过渡效果是渐入(fadein),但是目前的动画切换大多数都是用图片的左右切换动作的于是在网上看了一些关于这类型 ...
- Linux 中断详解 【转】
转自:http://blog.csdn.net/tiangwan2011/article/details/7891818 原文地址 http://www.yesky.com/20010813/1921 ...
- objective C 学习之02
1. 函数 -(void) HelloWorld:(BOOL)ishelloworld{ //干点啥 } 前面带有减号(-) 的方法为实例方法,必须使用类的实例才可以调用的.对应的有+号, 代表是类的 ...