`
IThead
  • 浏览: 420241 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 创建函数实例

阅读更多
1、创建函数
create [or replace] function function_name
[(parameter_name [in | out | in out] type [,...])]
retutn type
is|as
begin
 function_body;
end;

说明:函数必须有返回值
or replace:如果函数已经存在,则替换现有的函数;
function_name:函数名;
parameter_name :参数名;
in | out | in out:指定参数的模式;
function_body:包含执行任务函数的SQL和PL/SQL语句。
2、函数实例
create or replace function get_publicholidaytime(fromtime in Date, totime in Date, isAvailable in number) return number 
as
  --定义变量
  free_day number :=0;
  mindate Date;
  maxdate Date;
  total number :=0;
  fromdate Date := TO_DATE(to_char(fromtime,'yyyy/MM/dd'),'yyyy/MM/dd');
  todate Date := TO_DATE(to_char(totime,'yyyy/MM/dd'),'yyyy/MM/dd');
begin
  --if语句
  if isAvailable=1 then
    --sql语句
    select min(calendar_date) ,max(calendar_date),count(calendar_date) into mindate,maxdate,total 
    from T_BI_TNT_DATE 
    where calendar_date between fromdate and todate
    and IS_PUBLIC_HOLIDAY=1 ;
    if mindate = fromdate then 
       total := total - 1;free_day := free_day + ((mindate + 1) - fromtime);
    end if;
    if maxdate = todate then
       total := total - 1;free_day := free_day + (totime - maxdate);
    end if;
    if mindate = maxdate then 
       free_day := totime - fromtime;
    else
       free_day := free_day + total;
    end if;
  end if;
  return free_day;
end get_publicholidaytime;

3、调用函数
select get_publicholidaytime(sysdate,sysdate + 1,1) from dual;

4、删除函数
drop function get_publicholidaytime;
0
0
分享到:
评论

相关推荐

    Oracle经典自定义创建函数和存储过程

    自定义函数不能被直接在Java中调用,可以通过存储过程调用函数的方法。本文采用实例的方法,介绍如何在Oracle数据库客户端PL/SQL中创建自定义函数,然后创建相应的存储过程调用该函数,最终实现一个实例计算。

    大牛出手Oracle SQL优化实例讲解

    5.结合autotrace创建并验证函数索引 6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加几个实例 8.autotrace验证压缩表性能 9.autotrace验证消除子查询后的性能 10.基于基本的优化CBO 11.如何统计数据库数据 ...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    oracle中的存储过程.函数,包

    oracle中的存储过程.函数,包的创建,更新实例

    oracle 存储过程、函数和触发器用法实例详解

    本文实例讲述了oracle 存储过程、函数和触发器用法。分享给大家供大家参考,具体如下: 一、存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 创建存储过程 用CREATE ...

    21天学通Oracle

    8.1.2 创建函数 139 8.1.3 函数中的括号 140 8.1.4 函数的参数 141 8.1.5 函数的确定性 142 8.1.6 典型函数举例 143 8.2 存储过程 144 8.2.1 存储过程简介 144 8.2.2 创建存储过程 144 8.2.3 存储过程的参数...

    oracle10g课堂练习I(1)

    Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-15 表空间和数据文件 1-17 SYSTEM 和 SYSAUX 表空间 1-18 段、区和块 1-19 逻辑和物理数据库结构 1-20 课程示例: HR 方案 1-...

    Oracle入门实例

    适用于刚入门oracle的同志,包括表,视图,函数,游标,存储过程的创建,例子简单易懂,注释详细,不要错过!

    oracle使用管理笔记(一些经验的总结)

    14.oracle创建数据库实例 30 15.java操作oracle 31 16.oracle事务处理 34 17.oracle数据完整性 36 18.oracle 序列(sequence) 39 19.oracle 索引 40 20.oracle管理权限和角色 42 21.PL/SQL 47 (1)存储过程简单版本 47...

    oracle实用教程-韩顺平

    4.oracle 表的管理(数据类型,表创建删除,数据 CRUD 操作) 5.oracle 表查询(1) 6.oracle 表查询(2) 7.java 操作 oracle 8.oracle 中事务处理 9.oracle 的函数 10.数据库管理,表的逻辑备份与恢复 11.数据字典和...

    Oracle DBA workshop1 (中文版)

    Oracle 实例管理1-13 服务器进程和数据库缓冲区高速缓存1-14 物理数据库结构1-15 表空间和数据文件1-17 SYSTEM 和SYSAUX 表空间1-18 段、区和块1-19 逻辑和物理数据库结构1-20 课程示例:HR 方案1-22 数据库体系结构...

    oracle系统命令

    该文档主要整理了创建实例用户及分配权限和如何查看oracle版本及函数存储过程索引

    oracle初学者必备-scott用户脚本创建及表结构及函数练习实例.pdf

    。。。

    oracle初学者必备-scott用户脚本创建及表结构及函数练习实例.docx

    。。。

    Oracle 10g应用指导

    第10章 数据库管理,包括导出数据库模式的DDL脚本,管理Oracle数据库实例的方法、数据恢复与Flashback以及更改数据库字符集等具体方法。第11章 数据库的安全管理。包括加密Oracle子程序,存储应用程序用户名和口令,...

    实验十九-Oracle数据库系统开发实例-学生成绩管理系统.doc

    实验十九 Oracle数据库系统开发实例 -学生成绩管理系统 【一】实验目的 掌握采用VB.NET开发Oracle数据库系统的方法; 掌握开发C/S模式的数据库系统的方法。 【二】实验内容 利用SQL Developer,在scott用户下创建6...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    oracle中创建序列及序列补零实例详解

    oracle中创建序列及序列补零实例详解 我们经常会在在DB中创建序列: -- Create sequence create sequence COMMON_SEQ minvalue 1 maxvalue 999999999 start with 1 increment by 1 cache 20 cycle; 我们的序列的...

    ORCALR 教程 (PTF)

    2.3.6. Oracle创建和删除 14 2.3.7. Oracle启动和关闭 16 2.3.8. Oracle用户权限管理 17 2.4. ORACLE开发 19 2.4.1. 数据库规范化设计 19 2.4.2. SQL 语言的类别 19 2.4.3. 数据类型 20 2.4.4. 数据定义语言(DDL) ...

    学生成绩管理系统Oracle全部SQL语句.txt

    1、创建数据库实例,数据库表空间,创建管理员,普通用户,并分别授予相应权限; 2、至少建立5个表,以及表间关系,使用到序列,索引,视图,同义词,约束,每个表至少插入相关信息10条记录; 3、要求使用sqlplus,...

Global site tag (gtag.js) - Google Analytics