
Oracle
文章平均质量分 78
iteye_10631
这个作者很懒,什么都没留下…
展开
-
Oracle删除表中重复记录常见方法
方法一: delete from tb_channel a where a.rowid in (select max(b.rowid) from tb_channle b where a.policyno=b.policyno and a.classcode=b.classcode); ——这一办法在数据记录超过10万时一般都会变得很慢。 方法二: --建立临时表,--清空原表,--插...原创 2009-01-14 14:52:35 · 88 阅读 · 0 评论 -
Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)...
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整数...原创 2009-07-01 11:42:32 · 88 阅读 · 0 评论 -
对一大表建立索引时应当注意的事项及提高性能
一、注意事项:首先,应当考虑表空间和磁盘空间是否足够。我们知道索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一大表建立索引的时候首先应当考虑的是空间容量问题。 其次,在对建立索引的时候要对表进行加锁,因此应当注意操作在业务空闲的时候进行。 二、性能调整方面:首当其冲的考虑因素便是磁盘I/O。物理上,应当尽量把索引与数据分散到不同的磁盘上(不考虑阵列的情况)。...原创 2009-07-01 16:22:29 · 201 阅读 · 0 评论 -
用一个实例讲解Oracle的自定义聚集函数
Oracle数据库的定制功能十分强大。Oracle不但允许用户定制自己的函数,还可以定制自己的聚集函数和分析函数。本文将着重介绍使用自定义聚集函数建立一个字符串“sum”的示例: SQL> CREATE OR REPLACE TYPE T_LINK AS OBJECT ( 2 STR VARCHAR2(30000), 3 STATIC FUNCTION ODCIAGG...原创 2009-07-01 16:29:34 · 120 阅读 · 0 评论 -
如何让你的SQL运行得更快
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分...原创 2009-07-01 16:40:26 · 91 阅读 · 0 评论 -
oracle存储过程,游标及循环应用实例
最近在项目中做了一个关于系统与系统之间数据同步的业务,之前使用jndi远程调用的方式实现了这个同步功能,但总是感觉速度很慢,而且很不稳定,现将其修改成dblink+存储过程方式,特对存储过程及游标做了相应学习,此处主要记录游标及循环的不同使用方法: 第一种方式: FOR ... IN .....LOOP....END LOOPCREATE OR REPLACE PROCEDURE s...2009-07-03 18:13:01 · 215 阅读 · 0 评论 -
oracle游标使用
游标:用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。分类:静态游标:分为显式游标和隐式游标。REF游标:是一种引用类型,类似于指针。 显式游标: CURSOR 游标名 ( 参数 ) [返回值类型] IS Select 语句生命周期:1.打开游标(OPEN)解析,绑定。。。不会从数据库检索数据2.从游...原创 2009-07-03 19:07:16 · 104 阅读 · 0 评论 -
Oracle预定义的21个系统异常类型!
命名的系统异常 产生原因 ACCESS_INTO_NULL 未定义对象 CASE_NOT_FOUND CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 COLLECTION_IS_NULL 集合元素未初始化 CURSER_ALREADY_OPEN 游...原创 2009-07-06 17:07:17 · 100 阅读 · 0 评论 -
存储过程中使用dblink,碰到dblink死锁解决方案
CREATE OR REPLACE PROCEDURE synchronous_pm_t_material AS PRAGMA AUTONOMOUS_TRANSACTION; ---打开自动事务机制,此处的分号别忘了 last_version VARCHAR2(14); current_version VARCHAR2(14); CURSOR sync...2009-07-06 18:03:24 · 1702 阅读 · 0 评论 -
oracle job详解
一、设置初始化参数 job_queue_processes sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 查看job queue 后台进程 sql>select name,description from v$bgprocess; 二,dbms_job pa...原创 2009-07-07 16:17:21 · 105 阅读 · 0 评论 -
用java调用oracle存储过程
一:无返回值的存储过程存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGIN INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA;然后呢,在java里调用时就用下面的代码:...原创 2009-07-10 11:11:01 · 92 阅读 · 0 评论 -
Oracle动态游标入门
一、最简单的一个动态游标:CREATE OR REPLACE PROCEDURE test_curisstrSql1 varchar(1000);TYPE TCUR IS REF CURSOR; CUR TCUR;AC_WHERE VARCHAR2(100);AC VARCHAR2(100); BEGINAC_WHERE := '(52228,52230)';OPEN CUR FOR 'SELEC...原创 2009-07-13 10:14:17 · 114 阅读 · 0 评论 -
sqldeveloper2.1启动报无法创建jvm实例错误的解决方法
SQL Developer 启动时报错:Unable to create an instance of the Java Virtual Machine Located at path: ..\..\jdk\jre\bin\client\jvm.dll 解决办法将 安装目录\ide\bin下的ide.conf文件中的AddVMOption ...2010-02-25 13:48:38 · 524 阅读 · 0 评论 -
oracle创建表空间,创建用户
//创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //创建数据表空间 ...原创 2009-07-22 17:28:50 · 78 阅读 · 0 评论 -
利用oracle快照dblink解决数据库表同步问题
--名词说明:源——被同步的数据库 目的——要同步到的数据库前6步必须执行,第6以后是一些辅助信息.--1、在目的数据库上,创建dblinkdrop public database link dblink_orc92_182;Create public DATABASE LINK dblink_orc92_182 CONNECT TO bst114 IDENTIFIE...原创 2009-06-30 19:42:33 · 98 阅读 · 0 评论 -
oracle db_link 和触发器实现不同数据库表的同步
---创建dblink,dblink_test名称,(被同步数据库的a_test)ST10766用户名,ep密码,ass100连接字符串create public database link dblink_test connect to aaa identified by bbb using 'BEJING'; ---删除dblink----drop public databas...原创 2009-06-30 19:35:13 · 225 阅读 · 0 评论 -
Oracle中触发器的应用
触发器是指存放在数据库中,并且被隐含执行的存储过程。当发生特定事件时,Oracle会自动执行触发器的响应代码。 触发器的种类可划分为4种:1.数据操纵语言(DML)触发器、2.替代(INSTEAD OF)触发器、3.数据定义语言(DDL)触发器、4.数据库事件触发器。 数据操纵语言(DML)触发器:简称DML触发器,是定义在表上的触发器,创建在表上。由DML事件引发的触发器,编...原创 2009-06-30 19:20:48 · 112 阅读 · 0 评论 -
解决 ERROR - ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
服务器莫名其妙的报这个错,之前一直正常,从google获取解决方案,解决之,记录如下: 1. Open the ""<OracleHome>/network/admin/listener.ora" file in the host,and you will see: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (S...原创 2009-02-22 13:20:07 · 112 阅读 · 0 评论 -
oracle查询重复记录
一、查询某个字段重复 select * from User u where u.user_name in (select u.user_name from User u group by u.user_name ...2009-03-28 11:27:25 · 94 阅读 · 0 评论 -
oracle中使用SQL递归语句
场景:常见的领导关系树结构,知道某一节点ID,要查出此节点的所有下级(直接下级和间接下级),此时需要使用SQL递归语句。oracle中的递归语句: start with connect by prior .例子: pid id a b a c a e b b1 b b2 c c1 e ...原创 2008-08-08 16:03:38 · 133 阅读 · 0 评论 -
orcle中sys_connect_by_path的用法
sys_connect_by_path的几种处理方法(zt from asktom) =========================================================== 作者: jametong(http://jametong.itpub.net)发表于: 2005.04.14 11:51分类: oracle refs 出处: http://jameto...原创 2008-08-12 17:28:35 · 303 阅读 · 0 评论 -
oracle子递归查询语句的几个有用的属性
1.如何正确排序: siblings 2.展现路径: SYS_CONNECT_BY_PATH 3.条件的执行顺序 先准备一下测试用的数据:<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />ht...原创 2009-10-20 12:59:35 · 135 阅读 · 0 评论 -
如何启动或关闭数据库的归档(ARCHIVELOG)模式
Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。本文简单介绍如何启用和关闭数据库的归档模式。 1.shutdown normal或shutdown immed...原创 2009-11-03 13:52:50 · 126 阅读 · 0 评论 -
Oracle:查找表的主键,外键,唯一性约束,索引
1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表2、查找表的主键(包括名称,...原创 2009-11-04 14:26:34 · 87 阅读 · 0 评论 -
提供大家一个pl/sql developer 8 完全破解补丁(不是loader.exe)
本人亲自下载测试,完全可用,完美破解,支持目前官方提供的最新版8.0.0.1483版的破解,以上破解补丁仅供学习之用,请勿用于商业用途,如因商用造成违法事件,责任自负。下载地址:http://download.youkuaiyun.com/source/1806389...2009-11-10 18:01:03 · 152 阅读 · 0 评论 -
查询语句(SELECT)的优化
您正在看的ORACLE教程是:查询语句(SELECT)的优化。 这篇文章是基于Informix数据库写的。希望对大家有用。 程序设计中的一个著名定律是20%的代码用去了80%的时间,在数据库应用程序中也同样如此。数据库应用程序的优化通常可分为两个方面:源代码的优化和 SQL语句的优化。源代码的优化在时间成本和风险上代价很高;另一方面,源代码的优化对数据库系统性能的提升收效有限...2007-10-28 02:42:00 · 166 阅读 · 0 评论 -
oracle中导入dmp数据库文件
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp 命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目...2007-11-23 18:35:00 · 78 阅读 · 0 评论 -
SQL语句优化技术分析
一、操作符优化1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL...原创 2009-06-24 16:41:02 · 77 阅读 · 0 评论 -
常见Oracle HINT的用法
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. ...原创 2009-06-24 17:19:49 · 90 阅读 · 0 评论 -
Database Link详解
一、dblink创建 (两种方式): 1、已经配置本地服务 create public database link toBeJing connect to scott identified by tiger using 'BEJING' 数据库连接字符串'BEJING'是当前客户端数据库中TNSNAMES.ORA文件里...原创 2009-06-30 11:26:33 · 237 阅读 · 0 评论 -
oralce存储过程输入数据java List示例
一:java代码: 1,Bean public class MObj { private Long mId; private String mName; private Double price; public void setMId(Long mId) { this.mId = mId; } public void setMName(String mName)...2009-08-03 17:48:44 · 179 阅读 · 0 评论