![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
myEclipse_2008
这个作者很懒,什么都没留下…
展开
-
oracle 游标
1. 游标: 容器,存储SQL语句影响行数。 2. 游标类型: 隐式游标,显示游标,REF游标。其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标属于动态游标(运行时将游标与SQL语句关联)。 3. 隐式游标: DML语句对应的游标,由Oracle自动管理,也称SQL游标。(所有的DML操作都被Oracle内部解析为...原创 2009-09-30 22:44:53 · 87 阅读 · 0 评论 -
oracle 存储过程语法
子程序是指被命名的PL/SQL块,这些块可以带有参数,可以在不同应用中多次调用,PL/SQL有两种类型子程序:过程和函数,其中过程是用于执行特定操作,而函数是用于返回特定数据。 结构: cursor 1、静态cursor a)、显示cursor b)、隐示cursor 2、动态cursor ...2010-04-22 17:26:40 · 96 阅读 · 0 评论 -
oracle 控制语句
一、条件分支语句 条件分支语句用于依据特定的情况选择要执行的操作,PL/SQL提供了三种条件分支语句:if-then, if-then-else,if-then-elsif。 语法如下:if conditions then statements;[elseif conditions then statements;][else state...2010-04-22 17:29:32 · 183 阅读 · 0 评论 -
oracle 统计分组语句
在应用系统开发中,进行需要统计数据库中的数据,当执行数据统计时,需要将表中的数据进行分组显示,在统计分组中是通过group by子句、分组函数、having子句共同实现的。其中group by子句用于指定要分组的列,而分组函数用户指定显示统计的结果,而having子句用户限制显示分组结果。 一、分组函数 分组函数用于统计表的数据,并作用于多行,但是返回一个结果,一般情况下,分组函数要与...2010-04-22 17:32:28 · 388 阅读 · 0 评论 -
用Bulk Collect提高查询效率
Oracle8i中首次引入了Bulk Collect特性,该特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率。现在,我们对该特性进行一些简单的测试和分析。1. 首先,我们创建一个表,并插入100000条记录在SQL/Plus中执行下列脚本: drop table empl_tbl/create table empl_tbl(last_name...2010-05-05 16:38:57 · 193 阅读 · 0 评论 -
在oracle下如何创建database link全面总结
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。 数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链接的数...原创 2009-08-31 16:54:03 · 77 阅读 · 0 评论 -
存储过程操作同义词
A用户ab01 表,B用户通过同义词访问A用户的ab01表 B用户 create or replace synonym AB01 for A.AB01 A用户 grant connect to Bgrant dba to Bgrant resource to b grant all on ab01 to B 这样存储过程可操作同...原创 2010-05-18 11:39:55 · 380 阅读 · 0 评论 -
Oracle 存储过程传入二维数组
Oracle 存储过程传入二维数组 使用Oracle数组,打算传入一个二维数组到数据库中,然后利用存储过程将数据写入到数据 1、创建一个和目标表结构完全一样的TYPE,类型为objectCREATE OR REPLACE TYPE ID2 AS OBJECT(ID NUMBER(10),NUM NUMBER(10)) 2、创建一个table类型的ty...原创 2010-05-20 15:58:50 · 563 阅读 · 0 评论 -
oracle 数组
--固定数组declare type type_array is varray(10) of varchar2(20); var_array type_array:=type_array('ggs','jjh','wsb','csl','dd','bb');begin for i in 1..var_array.count loop dbms_output....原创 2010-05-20 16:18:16 · 164 阅读 · 0 评论 -
Oracle正则表达式
oracle的正则表达式(regular expression)简单介绍 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。 Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。 Oracle 10g支持正...原创 2010-05-20 16:26:03 · 111 阅读 · 0 评论 -
EXECUTE IMMEDIATE 执行sql语句
在ORACLE的PL/SQL里:EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIA...原创 2010-05-21 10:54:12 · 659 阅读 · 0 评论 -
oracle 系统表
数据字典dict总是属于Oracle用户sys的。 1、用户: select username from dba_users; 改口令 alter user spgroup identified by spgtest; 2、表空间: select * from dba_data_files; select * from dba_tablespace...原创 2010-05-21 12:28:10 · 104 阅读 · 0 评论 -
oracle 行触发与语句触发
oracle 行触发与语句触发的区别1、行触发器有 for each row子句。语句触发器没有for each row 子句。2、行触发器,可以有 when 作为触发限制,可以使用new/old。语句触发器不能有when 作为触发限制。3、行触发器:对应DML语句所影响到的表中的每一行,触发器都要执行一遍。4、语句触发:对应DML语句所影响到的表中的所有行,触发器只执行一遍。 例...原创 2010-05-25 12:49:54 · 253 阅读 · 0 评论 -
oracle 函数
一、开发函数 函数用于返回特定数据,如果在应用程序中经常需要返回特定数据,可以基于操作建立一个函数,通过使用函数,不仅可以简化客户端程序的开发和维护,而且还可以提高应用程序的性能,语法如下:create [or replace]function function_name (argument1[mode] dateType1,argument2[mode] date...2010-04-22 17:23:26 · 133 阅读 · 0 评论 -
oracle 触发器
触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。 一、触发器简介 触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,当发生特定事件(例如...2010-04-22 17:19:18 · 94 阅读 · 0 评论 -
oracle 复合数据类型(pl/sql记录)
为了简化单行多列数据的处理,可以使用PL/SQL记录;为了保留并处理多行当列的数据,可以使用索引表、嵌套表和varray;为了处理多行多列的数据,应该使用PL/SQL记录表。 一、PL/SQL记录 PL/SQL记录有益于处理单行多列的数据,当使用PL/SQL记录时,应用开发人员即可以自定义记录类型和记录变量,也可以使用%rowtype属性直接定义记录变量。 1、自定义PL/SQL记录 当...2010-04-22 17:16:28 · 145 阅读 · 0 评论 -
oracle 游标 例子
相信不少做开发或维护的DBA在找工作的时候,遇到过类似的面视问题:请简单的描述一下光标的类型,说一下普通光标和REF光标之间的区别,以及什么时候该正确应用哪一个? 这个题目,我着实难住了不少人,其实他们在具体开发的时候,也还是比较能够把握正确的光标的使用的,但就是说不出来,当然了,这与大家自身的沟流交通能力是有关系的。有的人不善于说,但做的却很好。扯的扯就走远了,最后唠叨一下:做技术这条路,能干不...原创 2009-10-01 00:47:22 · 89 阅读 · 0 评论 -
改变oracle数据库的ip地址引起的“ORA-12541:TNS:无监听程序”错误解决方法
在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误。 1、检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26Copyright (c) 1991, 2005, Oracle. All...原创 2009-04-15 12:33:52 · 169 阅读 · 0 评论 -
oracle dblink介绍
两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。dblink =database links 创建可以采用两种方式(自己试验时只有第一种方式可以,不知何故): 1、已经配置本地服务以...原创 2009-06-06 16:41:30 · 89 阅读 · 0 评论 -
使用Oracle的DBMS_SQL包执行动态SQL语句
DECLARE v_cursor NUMBER; v_stat NUMBER; v_row NUMBER; v_id NUMBER; v_no VARCHAR(100); v_date DATE; v_sql VARCHAR(200); s_id NUMBER; ...2010-03-29 11:29:28 · 122 阅读 · 0 评论 -
关于dbms_sql的使用
关于dbms_sql的使用 PL/SQL中使用动态SQL编程在PL/SQL程序设计过程中,会遇到很多必须使用动态sql的地方,oracle系统所提供的DMBS_SQL包可以帮助你解决问题。(一)介绍DBMS_SQL系统包提供了很多函数及过程,现在简要阐述其中使用频率较高的几种:function open_cursor:打开一个动态游标,并返回一个整型;procedure close_cursor(...2010-03-29 16:31:40 · 110 阅读 · 0 评论 -
oralce sqlload 使用例子
某用户业务日志有400多万条,需要迁移到我们系统中,由于时间要求紧张,决定先用程序生成符合格式的数据文件,再用oralce 的sqlload 装入数据到数据库中.试验结果300M(400万条) 文本文件导入到oracle 中,经生成数据文件耗时2分钟,sqlload 装入耗时4分钟.效果非常好. 表结构RZB DZTM ...原创 2009-06-29 17:26:59 · 306 阅读 · 0 评论 -
oracle sql loader全攻略
一:sql loader 的特点oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。比 如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度 快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,...原创 2009-06-30 11:22:16 · 261 阅读 · 0 评论 -
oracle存储过程语法
存储过程 包含三部分: 声明,执行部分,异常。 可以有无参数程序和带参数存储过程。 无参程序语法 1 create or replace procedure NoParPro 2 as ; 3 begin 4 ; 5 exception 6 ; 7 end; 8 ...原创 2009-07-04 18:50:09 · 86 阅读 · 0 评论 -
Oracle SQL语句(连接查询)
一、内连接和外连接 内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录,语法如下: Oracle代码 select table1.column,table2.column from table1 [inner|left|right|full]join table2 on table1.colu...2010-04-22 16:02:08 · 528 阅读 · 0 评论 -
oracle 显示游标
在oracle9i之前,为了查询处理select语句返回的多行数据,开发人员必须要使用显示游标,在oracle9i开始,开发人员即可以使用显示游标处理多行数据,也可以使用select ...bulk collect into 语句处理多行数据。 一、显示游标 PL/SQL包含隐藏游标和显示游标等两种游标类型,其中隐藏游标用于处理select into和DML语句,而显示游标用于专门处理select...2010-04-22 16:57:11 · 235 阅读 · 0 评论 -
oracle 复合数据类型(批量绑定)
批量绑定是oracle9i新增加特性,是指执行单次SQL操作能传递所有集合元素的数据,通过批量绑定可以极大的加快数据处理速度,提高应用程序的性能,批量绑定是使用bulk collect子句和forall语法完成,其他bulk collect子句用于取得批量数据,该子句只能用于select语句、fetch语句和DML返回子句,而forall语句只适用于批发批量的DML操作。 一、forall语句 ...2010-04-22 17:07:03 · 125 阅读 · 0 评论 -
oracle 复合数据类型(批量绑定)2
一、PL/SQL集合 为了处理单列多行,可以使用PL/SQL集合进行处理。PL/SQL集合类似于高级语言数组的一种复合数据类型、集合类型包括索引表(PL/SQL表)、嵌套表(Netsed Table)、变长数组(VARRAY)等三种类型。 1、索引表 索引表也成为PL/SQL表,它是oracle早期用来处理PL/SQL数组的数据类型,注意,高级语言数组的元素个数是有限制的,并且下标不能...2010-04-22 17:12:59 · 137 阅读 · 0 评论 -
oracle 异常处理
1、异常的优点 如果没有异常,在程序中,应当检查每个命令的成功还是失败,如 BEGIN SELECT ... -- check for ’no data found’ error SELECT ... -- check for ’no data found’ error SELECT ... -- check for ’no data found’ error...原创 2010-06-02 19:01:31 · 150 阅读 · 0 评论