
oracle
fightingJava2020
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oracle一行数据转换成多行数据
实际开发中我们经常遇到需要一张临时表的数据来作为关联表,当然我们可以通过create一张表来满足我们的需求,但是如果是线上环境不允许我们建表并且我们要求的表结构也很简单:只有一列。那么我们可以通过以下方式来完成我们的目的:比如原始数据为:select '1,2,3,4,5,6,7,8,9' from dual; 一行数据转换成多行数据" TITLE="oracle 一行数据转换成多行数据原创 2014-12-23 00:24:05 · 5757 阅读 · 0 评论 -
Oracle中组合索引的使用详解
原文链接:http://www.cnblogs.com/rootq/archive/2008/10/19/1314669.html在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引。在组合索引的使用方面,Oracle有以下特点: 1、当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引; 2、原创 2014-12-23 00:24:14 · 706 阅读 · 0 评论 -
Oracle的优化器的RBO和CBO方式
原文链接:http://www.blogjava.net/wxqxs/archive/2008/08/13/221716.html1、基于规则的优化方式(Rule-BasedOptimization,简称为RBO) 优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则,对数据是不敏感的。它只借助少量的信息来决定一个sql语句的执行计划,包括: 1)s原创 2014-12-23 00:24:11 · 435 阅读 · 0 评论 -
oracle删除或者更新了表里面的数据…
要是10 版本以上的话,好说,92的话,要从undo中找SELECT * FROM tablename AS OF TIMESTAMP TO_TIMESTAMP('2010-12-15 11:10:17', 'YYYY-MM-DD HH:MI:SS') 要是91或8的话,那就麻烦了!!原创 2014-12-23 00:23:55 · 488 阅读 · 0 评论 -
WMSYS.WM_CONCAT 函數的用法
原文地址:函數的用法">WMSYS.WM_CONCAT 函數的用法作者:liviaselect t.rank, t.Name from t_menu_item t; 10CLARK 10KING 10MILLER 20ADAMS 20FORD 20JONES 20SCOTT 20SMITH 30ALLEN转载 2014-12-23 00:23:13 · 399 阅读 · 0 评论 -
oracle正则表达式判断字段是否为纯…
oracle判断test表中value字段是否为纯数字。使用oracle的正则表达式select * from test where notregexp_like(value,'(^[0-9])');原创 2014-12-23 00:23:10 · 2143 阅读 · 0 评论 -
Oracle:一条SQL实现将多行数据并…
家庭信息表:ID 学生姓名 成员姓名1 张三 成员12 张三 成员23 李四 成员14 李四 成员2现在要显示为:学生姓名 成员姓名1 成员姓名2张三 成员1 成员2李四 成员1原创 2014-12-23 00:23:00 · 453 阅读 · 0 评论 -
如何查找表外键关联表
查询单个表的所有主外键关系 select a.owner 主键拥有者,a.table_name 主键表,b.column_name 主键列,C.OWNER 外键拥有者,c.table_name 外键表,d.column_name 外键列from user_constraints aleft join user_cons_columns bon a.constra原创 2014-12-23 00:22:57 · 3449 阅读 · 0 评论 -
ORA-01722 invalid number错误
一次奇怪的ORA-01722 invalidnumber错误ORA-01722 invalidnumber很容易理解,无须多言,一般发生在显式的to_number()类型转换的参数错误时。前几天我也遇到了一个由于直觉作怪而差点被忽略了的ORA-01722错误。 一个查询 select to_number(c.name) as srvtype, value astypename fro原创 2014-12-23 00:22:47 · 611 阅读 · 0 评论 -
Oracle数据库高性能秘密之数据高速…
原博文地址:http://tech.ccidnet.com/art/19211/20080708/1500347_1.html【赛迪网-IT技术报道】使用过Oracle数据库的人都知道,Oracle数据库的运行速度与效率,在同类数据库中是名列前茅的,特别是对大量数据进行访问时,更加有出色的表现。那么,Oracle数据库是靠什么实现的呢?笔者下面将通过一系列的文章,向大家展示Oracle数据库提原创 2014-12-23 00:22:21 · 532 阅读 · 0 评论 -
ORACLE左右连接
1. 左连接 a.a=b.b(+) 右连接 a.a(+)=b.b 2. create table dali.test1(a int,b int); create table dali.test2(a int,b int); insert into dali.test1 values(1,456);原创 2014-12-23 00:20:46 · 358 阅读 · 0 评论 -
oracle 左边接 右连接 oracl…
原文地址:左边接 右连接 oracle加号">oracle 左边接 右连接 oracle加号作者:阿怪转自http://blog.youkuaiyun.com/one132/archive/2009/07/06/4325233.aspx关键字: oracle 左边接 右连接 oracle加号在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句:SELECT emp_name转载 2014-12-23 00:20:41 · 656 阅读 · 0 评论 -
oracle中的exists 和not exists 用…
有两个简单例子,以说明 “exists”和“in”的效率问题1) select * from T1 where exists(select 1 from T2 whereT1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1)的查询效率高。2) select * from T1 where T1.a in (select T2.a from T2) ;原创 2014-12-23 00:18:11 · 489 阅读 · 0 评论 -
设置mysql中自动增长的初始值
设置mysql中自动增长的初始值alter table table_name AUTO_INCREMENT=1原创 2014-12-23 00:11:47 · 457 阅读 · 0 评论 -
Mysql与Oracle区别
原文地址:Mysql与Oracle区别作者:trylvMysql与Oracle区别文章分类:数据库周五去一家公司去面试,那公司经理问了关于Mysql与Oracle的区别问题,以前没有总结,回答也不是很好,只是凭感觉,先总结如下:1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高转载 2014-12-23 00:15:47 · 374 阅读 · 0 评论 -
oracle表统计信息
原文链接:http://likgrj.blog.163.com/blog/static/1143818642012551150508/创建测试表SQL> CREATE TABLE tAS 2 3 SELECT rownum AS id, 4 round(dbms_random.normal*1000) AS val1, 5 100+rou原创 2014-12-23 00:24:16 · 573 阅读 · 0 评论 -
数据库分页大全(oracle利用解析函…
数据库分页大全(oracle利用解析函数row_number高效分页) Mysql分页采用limt关键字select * from t_order limit 5,10; #返回第6-15行数据select * from t_orderlimit 5; #返回前5行select * from t_orderlimit 0,5; #返回前5行Mssql2000分页采用原创 2014-12-23 00:23:41 · 437 阅读 · 0 评论 -
oracle数据库表空间使用情况查询语…
SELECT A.TABLESPACE_NAME "表空间", A.BYTES / 1024 / 1024 "总大小(MB)", (A.BYTES - B.BYTES) / 1024 / 1024 "已使用(MB)", B.BYTES / 1024 / 1024 "剩余大小(MB)", ROUND(((A.BYTES - B.BYTES) /原创 2014-12-23 00:18:47 · 410 阅读 · 0 评论 -
oracle sqlldr使用心得
在从A库往B库倒表数据的时候,可以使用sqlldr命令。好处就是即使A库中的TableA表结构和B库中的TableB表结构不一样,也是可以将A表的数据导入到B表中的。前提是需要写控制文件test.ctl。优点:TableA和TableB数据字段可以不一样。缺点:需要些控制文件test.ctl 在从A库中往外倒数据的时候,最好将字段内容中有回车换行的数据进行替换,将回车换行去掉。因为后面原创 2014-12-23 00:18:01 · 550 阅读 · 0 评论 -
oracle10g中,如何给开发用户授予d…
10g中,若要授予开发用户debug权限,可以以system用户登陆并授权:sql>grant debug any procedure,debug connectsession to user;原创 2014-12-23 00:15:23 · 428 阅读 · 0 评论 -
oracle 同义词
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。本文介绍如何创建同义词语句,删除同义词以及查看同义词语句。 oracle的同义词总结: 从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。 1.创建同义词语句: create public synonym table_name for user.table_nam原创 2014-12-23 00:14:26 · 488 阅读 · 0 评论 -
(Oracle)rownum用法详解
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。(1) rownum 对于等于某值的查询条件如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为原创 2014-12-23 00:13:45 · 380 阅读 · 0 评论 -
oracle 分析及开窗函数
转自http://hi.baidu.com/edgar108/blog/item/e24c7fd66b0817d7a144dfc8.html我以oracle中的emp和dept表为例,讲一下开窗函数。假如,现在有这样的要求:查出所有的员工的名字ename,薪水sal 以及他的薪水占说有员工薪水的比例。一开始,我们的思路可能是这样:select ename ,sal ,sal/sum(s原创 2014-12-23 00:23:44 · 445 阅读 · 0 评论 -
oracle 隐式游标和显式游标的区别
oracle 隐式游标和显式游标的区别原创 2014-12-23 00:20:44 · 696 阅读 · 1 评论 -
回滚表空间
再插入大量数据的时候一定要注意回滚表空间的使用率。具体以后再详细看吧使用命令show parameter undo再有权限的情况下可以看到如下信息。其中undo_retention参数只是定义了undo能被保持的最低时间.超过这个时间,如果有了新的需求,就有可能被释放掉。原创 2014-12-23 00:18:49 · 495 阅读 · 0 评论 -
ORACLE 连接方式 NESTED LOOP、HAS…
NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nestedloop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nestedloops。一般在nested loop中,驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nstedloop。如果驱动表返回记录太多,就不适合neste原创 2014-12-23 00:17:58 · 301 阅读 · 0 评论 -
常见Oracle HINT的用法
1. 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHEREEMP_NO='SCOTT'; 2. 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: SELECT EMP_NO,EMP_NAM,DAT_IN FROM原创 2014-12-23 00:17:56 · 370 阅读 · 0 评论 -
关于oracle时间转换格式问题
select to_date('2012-07-11 23:45:05','yyyy/MM/dd hh24:mi:ss')from dual按照这样转换得到的并非是想要的'2012/07/11 23:45:05' 得到的还是2012-7-1123:45:05。这跟PLsql或者机器的日期显示有关。如果想得到你想要的格式的数据。可以通过下面语句: select to_char(to_dat原创 2014-12-23 00:17:53 · 474 阅读 · 0 评论 -
oracle debug权限
GRANT debug any procedure, debug connect session TO hr必须使用sysdba用户登陆才可以给hr授予debug权限原创 2014-12-23 00:17:01 · 722 阅读 · 0 评论 -
oracle replace函数
SELECT REGEXP_REPLACE('0001aaa00002', '0001|0002', '----') fromdual这样,运行结果就为:----aaa0----其中,0001|0002代表的是正则表达式。上面的语句对应为:REGEXP_REPLACE(treeid,'0001|0002','----')如果不是10g以上的话,则只能:repalce(replace(t原创 2014-12-23 00:12:54 · 945 阅读 · 0 评论 -
CBO和RBO介绍(好)
Rule Based Optimizer(RBO)基于规则Cost Based Optimizer(CBO)基于成本,或者讲统计信息ORACLE 提供了CBO、RBO两种SQL优化器。CBO在ORACLE7 引入,但在ORACLE8i 中才成熟。ORACLE已经明确声明在ORACLE9i之后的版本中(ORACLE 10G ),RBO将不再支持。因此选择CBO 是必然的趋势。CBO和R原创 2014-12-23 00:24:19 · 635 阅读 · 0 评论 -
Oracle 语法之 OVER&nbs…
oracle的分析函数over 及开窗函数一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。下面通过几个例子来说明其应用。 1:统计某商店的营业额。 date原创 2014-12-23 00:23:38 · 493 阅读 · 0 评论 -
sql执行顺序
sql执行顺序SQL不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回给调用者。如果原创 2014-12-23 00:22:18 · 340 阅读 · 0 评论 -
如何删除数据库中的冗余数据…
原文地址:如何删除数据库中的冗余数据(下)作者:美好二.SQL解决方案,使用RANK()删除冗余数据Oracle8i分析函数RANK()来枚举每一个组中的元素,在我们的方案中, 我们应用这个方案,我们使用这个函数动态的把冗余数据连续的排列起来加上编号,组由Partintion by 这个语句来分开,然后用Order by 进行分组SELECT ID, LastName, FirstName,转载 2014-12-23 00:20:39 · 2210 阅读 · 0 评论 -
oracle 分析函数dense_rank()
--本网发送秒峰值SELECT * FROM (SELECT monthday, tc, ct, dense_rank() over(PARTITION BY monthday ORDER BY ct DESC)orderid FROM (SELECT t.monthday,原创 2014-12-23 00:17:45 · 350 阅读 · 0 评论 -
如何使用sqlldr命令向oracle数据库…
环境windows xp 系统+oracle9i 客户端test.css文件如下:其中第一行是表中字段的名字。"ACTION_TYPE","CUSTOMER_ID","CUSTOMER_TYPE","NEW_FULL_NAME","OLD_FULL_NAME","CHARACTER","CORPORATION_NAME","REGISTER_FUND","FOUND_DT","STAT",原创 2014-12-23 00:16:15 · 3619 阅读 · 0 评论 -
ORA-01790 错误处理
ORA-01790 错误处理今天在练手的时候出现了一个ORA-01790 的错误,决定把他写下来保留起来。先来创建两张测试用的简单的表。SQL>create tabletest01 (id number(3),namevarchar2(12));Tablecreated.SQL> createtable test02 (id varchar2(6),namevarchar2(原创 2014-12-23 00:15:21 · 2251 阅读 · 0 评论 -
查看该用户下所有job
查看该用户下所有job: SELECT * FROM user_jobs 里面包含调用时间,调用的存储过程等信息字段。原创 2014-12-23 00:14:29 · 2833 阅读 · 0 评论 -
Oracle的同义词
原文地址:Oracle的同义词作者:ye话连篇Oracle中创建同义词语句:create synonym table_name foruser.table_name; 其中第一个user_table和第二个user_table可以不一样。此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个DatabaseLink(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:c转载 2014-12-23 00:14:24 · 517 阅读 · 0 评论 -
ORACLE 多表关联 UPDATE 语句
为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中,SQL 代码--客户资料表create table customers(customer_id number(8) notnull, --客户标示 city_name varchar2(10) not null,-- 所在城市 customer_type char(2) notnul原创 2014-12-23 00:13:48 · 396 阅读 · 0 评论