文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的有西刺代理,快代理等,这里我们拿西刺代理作为例子。 这里就是一个个免费的IP地址以及各自...

NateHuang
24分钟前
1
0
11-利用思维导图梳理JavaSE-Java的反射机制

11-利用思维导图梳理JavaSE-Java的反射机制 主要内容 1.反射与Class类 1.1.反射概念 1.2.Class类 1.3.实例化Class类 1.4.反射的作用 1.5.Class对象的作用 2.反射的深入应用 2.1.调用无参的成...

飞鱼说编程
31分钟前
1
0
How to serve the world from home computer?

最近在开发web应用,很想知道,通过公网来访问,效果会不会好。今天在做家务的时候,突然想到,如果我自己写一个ip转发的工具,不就可以实现了吗?但是转过头一想,这么大众的想法,怎么会没...

pearma
47分钟前
1
0
今天在码云遇到一个很有意思的人 for Per.js

今天在码云遇到一个很有意思的人,他在我的Per.js项目下面评论了一句,大意为“你试试这句代码,看看速度到底是你快还是Vue快”【当然,这个评论被我手残不小心删掉了...】。 然后我就试了,...

Skyogo
今天
50
0
Java -------- 首字母相关排序总结

Java 字符串数组首字母排序 字符串数组按首字母排序:(区分大小写) String[] strings = new String[]{"ba","aa","CC","Ba","DD","ee","dd"}; Arrays.sort(strings); for (int i ...

切切歆语
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部