Oracle PLSQL学习
文章平均质量分 77
jojo52013145
这个作者很懒,什么都没留下…
展开
-
Oracle自增序列
create sequence table_name_seqminvalue 1maxvalue 999999999999999999999999999start with 1increment by 1cache 100;CREATE OR REPLACE TRIGGER tri_table_nameBEFORE INSERT ON table_nameFOR E原创 2011-06-13 16:17:00 · 895 阅读 · 0 评论 -
Oracle 存储过程异常处理
1、异常的优点 如果没有异常,在程序中,应当检查每个命令的成功还是失败,如 BEGIN SELECT ... -- check for ’no data found’ error SELECT ... -- check f原创 2011-07-05 15:29:45 · 47459 阅读 · 2 评论 -
Oracle三种集合数据类型的比较
PL/SQL中没有数组的概念,他的集合数据类型和数组是相似的。在7.3以前的版本中只有一种集合,称为PL/SQL表,在这之后又有两种集合数据类型:嵌套表和varray。其中varray集合中的元素是有数量限制的,index_by表和嵌套表是没有这个限制的。index-by表是稀疏原创 2011-08-28 23:06:04 · 961 阅读 · 0 评论 -
ORACLE四种数据类型-标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB
在ORACLE中定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性。一、标量(SCALAR) 合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日原创 2011-09-27 21:38:19 · 3665 阅读 · 0 评论 -
Oracle 的 FORALL用法(批量增删改)
FORALL语句的一个关键性改进,它可大大简化代码,并且对于那些要在PL/SQL程序中更新很多行数据的程序来说,它可显著提高其性能。1:用FORALL来增强DML的处理能力Oracle为Oracle8i中的PL/SQL引入了两个新的数据操纵语言(DML)语句:BULK原创 2011-09-01 16:58:53 · 13209 阅读 · 0 评论 -
Oracle 的 bulk collect用法(批量查询)
采用bulk collect可以将查询结果一次性地加载到collections中,而不是通过cursor一条一条地处理。可以在select into,fetch into,returning into语句使用bulk collect。注意:在使用bulk collect时原创 2011-09-01 15:02:08 · 2047 阅读 · 0 评论 -
oracle动态sql
使用execute immediate语句可以处理包括ddl(create、alter和drop)、DCL(grant、revoke)、DML(insert、update、delete)以及单行select语句。execute immediate语句: execute immediate dynamic_string [into {define_variab原创 2011-08-30 10:24:24 · 1359 阅读 · 0 评论 -
oracle 触发器详解
触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。 一、触发器简介 触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,当发生特定事件转载 2011-12-20 20:47:29 · 2149 阅读 · 0 评论 -
Oracle PL/SQL中如何使用%TYPE和%ROWTYPE
1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量: DECLARE v_FirstName VARCHAR2(20); 但是如果first_name列的定义改变了会发生什么(比如说转载 2012-01-13 13:50:04 · 819 阅读 · 0 评论 -
oracle如何查询和停止正在运行的job
找出正在执行的JOB编号及其会话编号SELECT SID,JOB FROM DBA_JOBS_RUNNING;停止该JOB的执行SELECT SID,SERIAL# FROM V$SESSION WHERE SID='&SID';ALTER SYSTEM KILL SESSION '&SID,&SERIAL';转载 2012-02-03 22:38:00 · 7839 阅读 · 0 评论 -
PL/SQL表(oracle内存表)---table()函数用法
PL/SQL表---table()函数用法 /*PL/SQL表---table()函数用法:利用table()函数,我们可以将PL/SQL返回的结果集代替table。oracle内存表在查询和报表的时候用的比较多,它的速度相对物理表要快几十倍。simple example:1、table()结合数组:*/create or replace typ原创 2011-09-07 22:04:11 · 9732 阅读 · 0 评论 -
decode函数的返回值,引发的排序问题
今天碰到一个问题,说min函数返回错误的取值。详细如下:一个数据表列类型为number(6,2),其中有三行记录,分别为0,0.6和1。用min获取最小值,得到0.6。min是Oracle SQL的一个基础函数,理论上不会出现这样的Bug之类的。下面一起来模拟下实验环境。 1、环境构建 在实验数据库Oracle11g环境下,构建实验数据表t。填入实验数据。转载 2012-05-21 13:57:43 · 2155 阅读 · 0 评论 -
(简)oracle dbms_job
一、建表create table onlineuser(UPDATETIME DATE, LOGINTIME DATE, USERID NUMBER, LOGINTYPE NUMBER, IP VARCHAR2(20), GUID VARCHAR2(2原创 2011-05-27 11:55:00 · 1628 阅读 · 0 评论 -
(精)oracle dbms_job
<!---->今天总结下oracle的任务队列管理器(job queue ),以后也方便查询. 我们要做定时任务时,有两种办法 一种是:操作系统的定时,win的定时任务,unix的crontab一种是:数据库级的定时,她的效率更高,原创 2011-05-27 15:25:00 · 808 阅读 · 0 评论 -
Oracle中Cursor游标介绍
关键字(概念 类型 异常处理)一 概念游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这原创 2011-07-05 17:32:18 · 1120 阅读 · 0 评论 -
oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询
比较运算符>,>=.=:等于!=,逻辑运算符运算的优先顺序是NOT,AND,OR。如果要改变优先顺序,可以使用括号逻辑运算符AND:逻辑与,表示两个条件必须同时满足OR:逻辑或,表示两个条件中有一个条件满足即可NOT:逻辑非,返回与某条件相反的结果特殊运算符[原创 2011-07-05 14:25:48 · 3926 阅读 · 0 评论 -
Oracle 索引
一.索引介绍 1.1 索引的创建语法: CREATE UNIUQE | BITMAP INDEX . ON . ( | ASC | DESC, | ASC | DESC,...) TABLESPACE S原创 2011-07-28 09:30:31 · 581 阅读 · 0 评论 -
oracle中的exists 和not exists 用法详解
1.select 列 from 表列表名/视图列表名 where 条件.2.select 列 from 表列表名/视图列表名 where 条件 group by (列列表) having 条件3.select 列 from 表列表名/视图列表名 where 条件 group by原创 2011-07-28 15:41:24 · 605 阅读 · 0 评论 -
(简)Oracle存储过程调用java
通常我们都使用PL/SQL为Oracle编写存储过程,通过JDBC调用,执行存储过程。从Oracle8开始我们可以有另一种选择:Oracle自带一个JVM,内置对Java的支持,任何Java能做的事情你都可以放到 Oracle里面来做。这让Oracle具备了极其巨大的扩展能力,只原创 2011-09-06 11:29:40 · 1418 阅读 · 0 评论 -
Oracle 字符集的查看和修改
一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适原创 2011-08-10 16:47:00 · 743 阅读 · 0 评论 -
Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
SQL中的单记录函数***************************字符串处理******************************1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(’A’) A,ascii(’a’)原创 2011-08-19 10:00:26 · 995 阅读 · 0 评论 -
简单存储过程
存储过程创建语法:1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入原创 2011-07-01 15:51:00 · 834 阅读 · 0 评论 -
oracle 存储过程语句总结
oracle 循环语句总结:1、Exit When循环:create or replace procedure proc_test_exit_when is i number; begin i:=0; LOOP Exit When(i>5); Db原创 2011-07-05 15:10:16 · 5293 阅读 · 0 评论 -
(精)Oracle包
一、包的概念PL/SQL为了满足程序模块化的需要,除了块(block)和子程序结构外,还引入了包的构造。(1)包是一种数据库对象,将逻辑上相关的PL/SQL类型、对象和子程序组合成一个更大的单位,是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,它具原创 2011-08-26 09:58:25 · 7212 阅读 · 1 评论 -
(简)Oracle包
问题:为什么会用包?回答:在一个大型项目中,有很多模块,每个模块都可能有很多的过程和函数,这些过程和函数默认就是放在一起,不方便查询和维护,甚至会发生误删除的事件。 所以通过使用包,就可以分类管理过程和函数。 使用包还有一个好处,就是可以在包中定义自定义类型,原创 2011-08-26 09:50:48 · 1093 阅读 · 0 评论 -
Oracle中JOB的使用详解及多线程JOB调用
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。以下是常用的参数说明:字段(列) 类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER VARCHAR2(30转载 2013-10-11 08:18:46 · 6744 阅读 · 0 评论