文档章节

oracle函数基础

陈爱茹cx1992
 陈爱茹cx1992
发布于 2016/07/26 17:33
字数 340
阅读 3
收藏 1

--  oracle中函数分两类,1:系统函数;2:自定义函数;

--  oracle中函数与存储过程区别:1:函数必须返回一个值

 

--  1无参函数

    -- 创建函数

    create or replace function get_hello_msg

    return varchar2 as

    begin

        return 'hello  world';

    end get_hello_msg;

    -- 提示 函数的返回值可以是字符串、数值型、数组或者对象类型,但不能返回记录集合

    -- 在数据字典中查看函数信息,函数名在数据字典中都是以大写

    select object_name,object_type,status 

    from user_objects 

    where object_name='GET_HELLO_MSG';

    -- 查看函数定义,即创建函数的sql语句

    select name ,type,line,text from user_source where name='GET_HELLO_MSG';

    -- 说明字段line :代码的行号,每行源码都会存储为一条记录,且是按原有模式存储,即保留空格等格式

 

    --查看函数返回值

          -- 方法1:dual表,函数一旦被创建就可以像其他函数一样使用;例如。select  sysdate  from  dual;

          select GET_HELLO_MSG msg  from dual;

          -- 方法2 :写测试脚本         

        declare 

            msg varchar2(20);

        begin

            msg :=get_hello_msg();

            dbms_output.put_line(msg);

        end;

--  2带参函数

--  计算所得税

create or replace

function get_tax(p_salary number)

    return number as

    begin 

        declare tax_salary number;

        begin

            tax_salary :=p_salary - 2000;

            if tax_salary <=0 then

                return 0;

            end if;

            if tax_salary<=500 then

                return tax_salary*5/100;

            end if;

            if tax_salary<=2000 then

                return tax_salary*10/100-25;

            end if;

            if tax_salary<=60000 then

                return tax_salary*30/100-3375;

            end if;

          end;

      end get_tax;

     

      -- 测试

      select get_tax(4000) tax  from dual;

本文转载自:http://blog.csdn.net/ruru7989/article/details/12314611

共有 人打赏支持
陈爱茹cx1992
粉丝 0
博文 59
码字总数 0
作品 0
济南
程序员
私信 提问
Oracle数据库学习的福利来啦——最佳入门经验分享

适用人群:从事数据库技术实施或售后工程师,准备参加OCA,OCP认证考试 通过学习对Oracle数据库的相关基础知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、...

让往事随风
2016/04/13
34
0
【目录】Linux 环境C/C++ 开发笔记,持续更新

C++ 知识要点: 计算机经典书籍 收藏,不断更新..... http://990487026.blog.51cto.com/10133282/1876827 【平台搭建】 编程语言排行榜: http://www.tiobe.com/tiobe_index?page=index QT w...

990487026
2016/05/18
0
0
PostgreSQL Oracle 兼容性之 - 自定义并行聚合函数 PARALLEL_ENABLE AGGREGATE

标签 PostgreSQL , Oracle , 自定义聚合 , 并行 背景 Oracle,PostgreSQL均支持自定义聚合函数,例如PostgreSQL自定义聚合函数的语法如下: Oracle的语法与之有所不同,并且支持并行。 Post...

德哥
04/18
0
0
JFinal 处理Oracle的timestamp字段类型的问题

数据库采用的Oracle 字段类型为TIMESTAMP。 当需要在页面显示这个字段的时候有个很疼的问题。oracle驱动在取出这个自动的时候类型为 oracle.sql.timestamp. 这是一个很疼的类型..它基础自ora...

绝望的八皮
2012/07/23
1K
9
oracle sql 优化

(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): (2) WHERE子句中的连接顺序.: (3) SELECT子句中避免使用 ‘ * ‘: (4) 减少访问数据库的次数: (5) 在SQLPlus , SQL...

等待救赎
2016/03/02
18
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
38分钟前
1
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
1
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
1
0
利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
昨天
1
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部