oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点。

平常在开发过程中对于CRUD功能较多。一般SQL即可应付,大不了就是长一点而已。但是遇到复杂业务需求,在Java代码中开发略显混乱时,函数将可以作为一个非常优秀的实现方式,在数据库中对业务进行处理。

下面介绍一下oracle函数的集中语法,小弟学艺不精,如有遗漏,请不吝指正:

oracle语法在编写过程中其实比较简单,首先它是一个脚本语言,也叫作解释性语言,脚本语言如python,js等的共有特点就是从上到下一行一行的执行。也就是说我们只要符合函数的语法,我们可以随意在函数里面写DML语句(CRUD)、DCL(GRANT)、DDL语句等,所有初次编写函数的时候可能无从下手,但其实语法非常随意。

1、那其实,首先我们需使用create or replace语句来创造函数,为什么要加一个replace(替代)单词,其实意思就是,由函数重名的情况就替换掉,这是因为在函数发包的时候可能要替换掉原来的函数。例子:

create or replace fn_xxx_aaa(arg1.arg2....)

end fn_xxx_aaa;

2、变量的定义

所谓函数,肯定要有参数,有返回值。但是oracle函数多了一个叫做输出值,也是程序调用之后可以接受到的一些查询结果或是游标。输入输出值定义在括号内。

3、游标及循环

其实游标就是一个缓存,例如,我们在函数里面进行判定的时候,我们可能需要遍历一个表的数据,那我们不能去把表里面的数据都查一遍,这样太浪费资源了,而且数据库是一种非常稀有的资源,所以我们就要把所有的数据都查出来,存在游标里面,去循环它,这样也可以得到游标里面的所有数据。

declare cursor XX_XX_XX is

  select * from aaa;

begin

open cursor;

loop

fetch XX_XX_XX into xx x xx xx x;

exit when XX_XX_XX%NOTFOUND;

  begin

xxxxxxxxxxxxxxxxxxx

  end;

end loop;

end;

上面的就是最简单的游标配合循环做业务的一些处理。先将游标数据抓取赋值给定义的某种变量,然后拿着变量一点一点做循环判断,对数据进行处理。

4、除了游标之外呢,还有一种东西也是常用到的一种东西,视图。

视图其实什么也不是,为什么说他什么也不是呢,因为视图就根本不存在,我们定义完了视图之后呢,其实就是在你的 sql之后添加了一些sql,比如说我们create了一个视图,其实还是将两个或者多个集合的数据搞到一个集合里面了,也就是你这个sql后面有添加了一段sql。

5、还有一个东西,表分区。

虽然做完之后效果不明显吧,但是毕竟对Linuxoracle服务器熟悉了,数据泵文件导入导出也很熟悉了。好吧,下一篇文章写数据泵文件的导入导出以及表分区。

第一次写这么长的博客,小弟年龄肯定比各位看官想的小得多,所以请随意指教,谢谢各位看官,希望对您对我都有所帮助。

oracle函数,游标,视图使用总结0.000000000000000000001的更多相关文章

  1. oracle函数,游标,视图使用总结

    oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...

  2. Oracle函数面试题

    1.对字符串操作的函数? 答:ASCII() –函数返回字符表达式最左端字符的ASCII 码值 CHR() –函数用于将ASCII 码转换为字符 –如果没有输入0 ~ 255 之间的ASCII 码值C ...

  3. Oracle 函数高级查询

    目录 oracle高级查询 Oracle SQL获取每个分组中日期最新的一条数据 求平均值(为0的参数不均摊) 字符串清除前面的0 判断字符串串是否包含某个字符串 switch 判断 oracle不足 ...

  4. MySql学习(四) —— 函数、视图

    注:该MySql系列博客仅为个人学习笔记. 本篇博客主要涉及MySql 函数(数学函数.字符串函数.日期时间函数.流程控制函数等),视图. 一.函数 1. 数学函数 对于数学函数,若发生错误,所有数学 ...

  5. 【函数】Oracle函数系列(2)--数学函数及日期函数

    [函数]Oracle函数系列(2)--数学函数及日期函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...

  6. Oracle数据库之视图与索引

    Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...

  7. 查看SQL SERVER 加密存储过程,函数,触发器,视图

    原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create  PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...

  8. Oracle函数sys_connect_by_path 详解

    Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为:       s ...

  9. Oracle使用游标为所有用户表添加主键语句

    应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...

随机推荐

  1. IOS网络第二天 - 06-POST请求

    ************POST请求 #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @in ...

  2. 返回数据方法DeaCacheCommand,由CRL自动实现

    越来越多的人学起了前端,或许部分的初衷仅是它简单易上手以及好找工作,毕竟几年前只会个html和css就能有工作,悄悄告诉泥萌,这也是博主一年前的初衷 还好numpy, scikit-learn都提供了 ...

  3. SOA架构设计(转发)

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  4. A Taxonomy of Parallel Processor Architectures

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  5. backbonejs

    前言: backbone由以下模块组成. 一.Event 监听事件,自定义事件.绑定到任何对象. http://www.css88.com/doc/backbone/#Events 这个是下面模块核心 ...

  6. 索引中include的魅力(具有包含性列的索引) (转)

    开文之前首先要讲讲几个概念 [覆盖查询] 当索引包含查询引用的所有列时,它通常称为“覆盖查询”. [索引覆盖] 如果返回的数据列就包含于索引的键值中,或者包含于索引的键值+聚集索引的键值中,那么就不会 ...

  7. C#_基本类型

    1.C#中的值类型包括:简单类型.枚举类型和结构类型. 2.C#中的引用类型包括:类(class).接口(interface).数组.委托(delegate).object和string. 3.调试时 ...

  8. C# MVC 页面静态化导致的问题

    在设置页面静态化的路由,代码如 //静态路由 routes.MapRoute( name: "html", url: "{controller}/{action}.htm ...

  9. spdk intel

    前言 继为SDN和NFV领域带来福音的DPDK之后,英特尔于2015年9月开始,逐步将为NVMe等新一代存储规范优化的Linux性能工具包SPDK(Storage Performance Develo ...

  10. git常用指令

    <a>github的提交方式      git status     (1)git add .--------------------存储到本地       git add -u      ...