选择和跳转语句

1.case语句 case语句使用简单的结构对数值做出选择,更为重要的是,它还可以用来设置变量的值 --CASE语法格式: case input_name when 表达式 then 结果执行 …… end; 说明:首先设定一个变量的值,然后顺序比较when关键字后面给出的值,若相等,则执行then ...

触发器 trigger

触发器是被指定关联到一个表的数据对象,它不需要调用,当对一个表的特别事件出现时,它就被激活。触发器的代码也是由SQL语句组成的,因此用在存储过程中的语句也可以用再触发器的定义中。触发器是一类特殊的存储过程,与表的关系密切,用于保护表中的数据,当有操作影响到触发器保护的数据时,触发器将自动执行。 (1 ...

存储过程

存储过程是数据库对象之一,存储过程可以理解成数据库的子程序,在客户端和服务器端可以直接调用它。触发器是与表直接关联的特殊的存储过程,是在对表记录进行操作时触发的。 存储过程放在字典里,可以在不同用户和应用程序之间共享,并可以实现程序的优化和重用。 存储过程的优点: 1.存储过程在服务器端运行,执行速 ...

Oracle 隐式转换

Oracle在执行自隐式转换时:总是会把字符串转为数字,字符串转为日期。当列进行转换,会跳过索引,降低性能。 创建一个表格,给三个列建立索引,进行测试。 create table t1(n1 number, v1 varchar2(10), d1 date); insert into t1 sele ...

可以利用包(package)将过程和函数安排在逻辑分组中。 包含有两个分离的部件:包说明(规范、包头)和包体(主体)。 包说明和包体都存储在数据字典中。 包与过程和函数的一个明显的区别是,包仅能存储在非本地的数据库中。 用SQL命令创建包需要分别创建包头和包体两部分: --包头 create or ...

游标

一个对表进行查询的SQL语句通常都会产生一组记录,称为结果集。但是许多应用程序,尤其PL/SQL嵌入式的主语言(如java,C等),通常并不能把整个结果集作为一个单元来处理,因此,这些应用程序需要一种机制来保证每次只处理结果集中的一行或几行,游标就提供了这种机制,即对一个结果集进行逐行处理的能力。 ...

循环结构

循环提供了一遍又一遍重复执行某段语句直至满足退出条件,退出循环。编写循环语句时,注意一定要确保有相应的退出条件满足。 1. LOOP-EXIT-END循环 <循环体>是在循环体中需要完成操作,如果条件表达式为true则跳出循环,否则继续循环操作,直到满足条件表达式才能跳出循环 --求1到100的和。 ...

数据库的统计汇总分组合并

对表数据进行检索时,经常需要对结果进行汇总或计算,例如,在学生成绩数据库中求某门课程的总成绩,统计各分数段的人数等。 1.统计函数 统计函数用于计算表中的数据,返回单个计算结果 SUM和AVG函数:分别用于求表达式中所有值项的总和与平均值 --求选修100012课程的学生的平均成绩。 select ...

Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法

最近在工作中遇到了遇到了一个需求需要将TIPTOP中的数据导出成XML并上传到FTP主机中,但是4GL这方面的文档比较少最终决定使用Oracle调用Java的方法,在使用的过程中发现有很多的坑,大部分的博客只粗略的介绍了下导致耗费了很多时间,在这里分两个博文详细的记录一下这个功能,填一下坑,希望可以 ...

ORACLE SYS_REFCURSOR VS REF CURSOR

CURSOR是强类型,SYS_REFCURSOR 是弱类型(类似C#的var)。 Cursor: create or replace package pkg as cursor cur is select 1 n from dual; type tcur is ref cursor return p ...

Oracle锁-共享锁(二)

一个事务执行dml操作,就会自动加上行共享表锁,以防止其他需要排他锁的事务访问。 一个事务对表新增数据,另一个事务修改表报错显示“资源正忙...”,因为修改该表时需要排他锁。 一个事务修改表数据,或删除表数据,就是真正的影响记录数为0,另一个事务依然无法修改该表,因为修改该表时需要排他锁。 ...

Oracle锁-行级排他锁(一)

下一篇:共享锁 学习电子书:https://docs.oracle.com/cd/E18283_01/server.112/e16508/consist.htm#CNCPT1339 什么是排它锁? 每一个事务在修改资源时会获得排他锁,该事务不结束,则其他事务不能修改此资源。(注意:这里的修改不是数据 ...

Oracle误删除数据和表的恢复办法包括truncate

在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法:主要是利用Oracle回收站的闪回特性oracle 回收站recyclebin是10g才有的新特性,当我们drop table cube_scop ...

Oracle查看SQL执行计划,分析SQL性能

如何查看SQL执行计划 使用 PL/SQL 查看,具体使用方法如下: 新建 解释计划窗口 ,将 SQL 复制进去执行,即可显示执行计划。 选中 SQL 语句,点击菜单 工具-解释计划 或 按快捷键 F5 执行计划结果说明 表扫描 table access by index rowid 通过ROWID ...

PL/SQL编程急速上手

结构化查询语言(SQL)是第四代编程语言的典型,这种命令式的语言更像一种指令,使用它,你只需要告诉计算机“做什么”,而不用告诉计算机“怎么做”。第四代编程语言普遍具有简单、易学、能更快的投入生产等优点,但也失去了部分第三代编程语言(C,C++,Java等)的灵活性。PL/SQL 在 SQL 的基础上... ...

oracle日期处理函数整理

1.trunc 函数 截断函数既可以截取日期 也可以截取数字 返回今天的日期 select trunc(sysdate) from dual; --07-6月 -20 返回昨天的日期 select trunc(sysdate-1) from dual; 返回当月第一天 select trunc(sy ...

<1···789···15>