
ORACLE
文章平均质量分 68
suncrafted
fighting~~~
展开
-
SQL Loader 控制文件的写法
转帖:http://billy201.javaeye.com/blog/174566一、SQL Loader定义SQL Loader可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。通常用来将操作系转载 2011-08-23 12:52:43 · 3410 阅读 · 0 评论 -
Oracle数据库中表的四种连接方式讲解
Oracle数据库中表的四种连接方式讲解 表的连接是指在一个SQL语句中通过表与表之间的关连,从一个或多个表中检索相关的数据,大体上表与表之间的连接主要可分四种,分别为相等连接,外连接,不等连接和自连接,本文将主要从以下几个典型的例子来分析Oracle表的四种不同连接方式: 1. 相等连接 通过两个表具有相同意义的列,可以建立相等连接条件。 只有连接列上在两个表中原创 2009-06-28 20:06:00 · 3243 阅读 · 0 评论 -
ORACLE之SEQUENCE
ORACLE之SEQUENCE在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WIT转载 2009-06-26 11:06:00 · 1084 阅读 · 0 评论 -
ORACLE物化视图
一、------------------------------------------------------------------------------------------物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以查询表,视图和其它的物化视图。转载 2009-06-26 12:36:00 · 49902 阅读 · 1 评论 -
数据库设计技巧14则
1、原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 例1:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本转载 2009-06-21 13:25:00 · 798 阅读 · 0 评论 -
Oracle HINT的常见用法
提示(hint)从Oracle7中引入,目的是弥补基于成本优化器的缺陷。提示通常用来改变SQL执行计划,提高执行效率。使用提示需要遵循的原则:1)仔细检查提示语法。尽量使用完整注释语法/*+ hint */2)使用表别名。如果在查询中指定了表别名,那么提示必须也使用表别名。例如:select /*+ index(e,dept_idx) */ * from emp e;3)不要在提示中使转载 2009-06-17 15:55:00 · 1452 阅读 · 0 评论 -
TO_CHAR(DATE,FORMAT)
SYSDATE2009-6-16 15:25:10 TRUNC(SYSDATE)2009-6-16 TO_CHAR(SYSDATE,YYYYMMDD)20090616到日TO_CHAR(SYSDATE,YYYYMMDD HH24:MI:SS)20090616 15:25:10到秒TO_CHAR(原创 2009-06-16 15:32:00 · 28237 阅读 · 6 评论 -
Oracle 使用LAG和LEAD函数统计
使用LAG和LEAD函数统计Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值。这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的效率。以下是LAG和LEAD的例子:SQL> select year,region,profit ,lag (profit,1) over (order by year) 2 as las转载 2009-06-12 10:48:00 · 991 阅读 · 0 评论 -
oracle lead 使用实践
若不是这次使用oracle lead,我还不会发现,原来还有这么好用的东西。 oracle 统计分析函数 lead 语法结构: lead(value_expr [,offset][,default]) over([query_partition_clause] order by Order_by_clause) 参数说明: value_转载 2009-06-12 10:41:00 · 1191 阅读 · 0 评论 -
oracle count计数的优化
在9i,我们知道count(*)的时候,如果表上有pk,那count(*) 一定会走pk的。count(column) ,如果column指定not null,那count(column) 可以走上索引(通过试验证明,必须还要加上index提示才能走上索引)。但如果列上有空值,不管如何加提示,都走不上列上的索引(组合索引的非引导列除外) count是否应该走索引,主要取决于cou转载 2009-06-12 11:03:00 · 2650 阅读 · 0 评论 -
三招让Oracle表列管理更加简单
Oracle数据库是目前为止最复杂的一个数据库之一。也正是这种复杂性,让Oracle数据库能够面对企业各种各样的需求。不过大部分时候,数据库管理员掌握一些技巧,可以让数据库维护工作变得简单。 Oracle数据库是目前为止最复杂的一个数据库之一。也正是这种复杂性,让Oracle数据库能够面对企业各种各样的需求。不过大部分时候,数据库管理员掌握一些技巧,可以让数据库维护工作变得简单。转载 2009-06-10 20:37:00 · 754 阅读 · 0 评论 -
Oracle DBA在新环境下必须了解的事情
Oracle DBA在新环境下必须了解的事情 面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么呢?本文将为大家具体讲解如何做一个合格的DBA。 在这里,不谈那些大的方面,比如了解整个IT环境整体情况,假设你已经知道了这些,接下来需要面对的就是这些一个个活生生的database了。这里总结了一些一般的思路来面对一个全先的database,从转载 2009-06-10 20:33:00 · 812 阅读 · 0 评论 -
汉字数字混合排序
1、正则表达式这种情况,只能满足汉字部分相同,且只有一个数字部分的排序,如 排序前 排序后电话1 电话1 电话13 电话2 电话16 电话4 电话2 电话6 电话4 电话13电话6 电话16 select A.D, to_number(regexp_substr(D,[0-9]*[0-9],1)) from (SELECT 电话1 AS原创 2009-06-08 12:44:00 · 2804 阅读 · 0 评论 -
ORACLE的基本语法集锦
-- 表create table test (names varchar2(12), dates date, num int, dou double);-- 视图create or replace view vi_test asselect * from test;-- 同义词c转载 2009-06-08 13:18:00 · 931 阅读 · 0 评论 -
Oracle的SQLPLUS命令使用集合
1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPO转载 2009-06-08 13:24:00 · 966 阅读 · 1 评论 -
oracle 常用语句
1.删除用户下的所有内容:drop user xxx cascade;2.删除表空间:drop tablespace AA including contents;3.查看当前用户默认表空间:select * from user_users 4.查看、修改表空间大小:select * from dba_data_files where tablespace_name=AA;转载 2009-06-08 13:03:00 · 1122 阅读 · 0 评论 -
用Oracle的DBMS_OUTPUT包产生CSV文件
试过很多产生CSV文件的方法后,发现用Oracle的DBMS_OUTPUT就可以实现,例子代码如下:1 创建一个数据库表Drop TABLE VEHICLE;Create TABLE VEHICLE (MAKE VARCHAR2(256) NOT NULL,MODEL VARCHAR2(256),REGISTRATION_NO NUMBER(15) NOT NULL primary k转载 2009-06-04 13:50:00 · 1233 阅读 · 1 评论 -
Oracle执行计划解释
一.相关的概念Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它,但是不能删除改列,也不能对该列的值进行修改、插入。一旦一行数据插入数据库,则rowid在该行的生命周期内是唯一的,即即使该行产生行迁移,行的rowid也不会改变。Recur转载 2009-06-28 23:31:00 · 1390 阅读 · 0 评论 -
通过执行计划看sql的执行路径
通过执行计划看sql的执行路径 今天又有网友问到了有关执行计划的步骤的问题。通过这个网友给的例子,我就简单的先讲讲执行计划里我们使用频率最高,也是最基础的一项,执行计划的路径问题。这个网友给的是一个最简单的例子,是sample数据里的emp和dept的联合查询的例子SQL>select ename,dname from emp,dept where emp.deptno=dept.dept转载 2009-06-28 22:13:00 · 1538 阅读 · 0 评论 -
oracle 日期校验 (判断)
oracle 日期校验 (判断)作者: nsq029 时间: 2010-06-24oracle 日期判断,判断日期是否合法,返回标记值 若为0则表名日期合法,若日期格式不合法则会返回负值输入日期格式为 YYYY-MM-DD 或 YYYYMMDD 类型转载 2011-09-01 16:41:41 · 7558 阅读 · 1 评论 -
NVL,NVL2,NULLIF,COALESCE
Oracle中一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。 下面简单介绍一下几个函数的用法。 在介绍这个之前你必须明白什么是oracle中的空值null 1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:假如oracle第转载 2010-05-25 15:30:00 · 2315 阅读 · 0 评论 -
oracle,分区表(二)
<br />分区表的用意是使大型表 分而治之。但是分区表是否一定会加快访问呢。<br />可能更慢,可能更快,可能没变化。<br />好处就是<br />一: 提高可用性<br /> 因为分区后分区的损坏不影响其它分区的使用,除非你一定要查找损坏分区的内容<br />二: 加快索引及数据重建速度。<br /> 如果你有一个100G表,有部分数据行迁移,行连接。要重建会很麻烦,如果做为分区表,只重建其中一个分区会很方便<br />三:并行dml 也是分区表的重要好处转载 2010-07-11 22:00:00 · 2938 阅读 · 0 评论 -
Oracle表分区
<br />废话少说,直接讲分区语法。<br />Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区。<br /> <br />一:范围分区<br />就是根据数据库表中某一字段的值的范围来划分分区,例如:Sql代码 create table graderecord ( sno varchar2(10), sname varchar2(20), dormitory varchar2(3), grade int ) partition by ran转载 2010-07-11 21:53:00 · 2793 阅读 · 0 评论 -
对Oracle表分区的一点认识
<br /> Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 <br /> 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理转载 2010-07-11 21:35:00 · 1898 阅读 · 0 评论 -
oracle分区表总结(转)
oracle分区表总结(转)转载 2010-07-11 22:14:00 · 2058 阅读 · 0 评论 -
Oracle中的Union、Union All、Intersect、Minus
众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。 假设我们有一个表Student,包括以下字段与数据: drop table student; create table student ( id int primary key, name nvarchar2(50) not null, score number not nu转载 2010-04-21 10:41:00 · 2240 阅读 · 0 评论 -
PLSQL小记(下)
PLSQL小记(下)2008年09月16日 星期二 09:03***************************************** PLSQL异常处理*****************************************1、声明异常异常名 EXCEPTION;2、抛出异常RAISE 异常名3、处理异常抛出异常后的逻辑代码不会被继续执行转载 2010-01-28 09:58:00 · 2474 阅读 · 0 评论 -
PLSQL小记(上)
PLSQL小记(上)2008年09月16日 星期二 09:02***************************************** PLSQL基本结构*****************************************基本数据类型变量 1. 基本数据类型 Number 数字型 Int 整数型 Pls_int转载 2010-01-28 09:56:00 · 1564 阅读 · 1 评论 -
ORACLE DUAL表(转)
见过dual的很多用法,但一直还不知dual是个什么东东,今天就解开它神秘的面纱吧:1、DUAL表的用途Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中--查看当前连接用户SQL> select user from dual;USER------------------------------SYSTEM--查看当前日期、时间SQL> s转载 2009-09-24 15:17:00 · 971 阅读 · 0 评论 -
BLOG导航
BLOG导航 文章多了,也该锄锄草,剪剪枝了。 加多一个BLOG导航,方便自己找文章,也方便大家浏览。 ORACLE Informatica SQL SERVER DataWarehouse Delphi 杂谈 ======================== 华原创 2009-07-12 20:24:00 · 1819 阅读 · 0 评论 -
sql多表连接查询inner join, left join , right join ,full join ,cross join
sql多表连接查询inner join, left join , right join ,full join ,cross join inner join,full outer join,left join,right jion内部连接 inner join 两表都满足的组合full outer 全连 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有转载 2009-07-12 20:20:00 · 2110 阅读 · 0 评论 -
Oracle11G新特性——虚拟列
打算写一系列的文章介绍11g的新特性和变化。Oracle11g增加了表的虚拟列,这个列的数据并没有存储在数据文件中,而是Oracle通过列数据的生成放到了数据字典中。 看一个简单的虚拟列的例子:SQL> CREATE OR REPLACE FUNCTION F_GETTYPE(P_TYPE IN VARCHAR2) RETURN NUMBER2 DETERMINISTIC AS3转载 2009-07-07 12:42:00 · 1012 阅读 · 1 评论 -
ORACLE获取操作系统目录下文件列表
获取操作系统目录下文件列表 很久之前写了《关于UTL_FILE包体的使用》,那个脚本需要手工维护文件名列表,比较麻烦,后来一直想能否自动读取指定目录下的文件名,然后使用我那个UTL_FILE过程读取文件内容。有试过使用ls 命令进行重定向到日志文件,并配合Linux的定时任务(crontab)来解决,后来由于工作原因停止了测试,最后不了了之。前天看了盖老大的《循序渐进ORAC转载 2009-07-06 13:32:00 · 2751 阅读 · 1 评论 -
oracle用PLSQL把表数据写到excel的例子(UTL_FILE)
oracle用PLSQL把表数据写到excel的例子(UTL_FILE) 这里有个例子﹐不过不是结果﹐而是指定的table.你可以参考一下。CREATE OR REPLACE PROCEDURE pro_Datatoexcel(/* 写出前需建立文件目录CREATE OR REPLACE DIRECTORY my_dir AS D:/aa赋权限给执行的用户转载 2009-07-06 11:23:00 · 2198 阅读 · 1 评论 -
Merge into 详细介绍
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 *//*語法:MERGE [INTO [schema .] t转载 2009-06-29 13:29:00 · 22474 阅读 · 4 评论 -
使用WMSYS.WM_CONCAT函数实现行列转换
今天才发现了wmsys.wm_concat这个有趣有用的函数,它的作用是以,链接字符。例子如下:SQL> create table idtable (id number,name varchar2(30));Table createdSQL> insert into idtable values(10,ab);1 row insertedSQL> insert in转载 2009-06-04 12:55:00 · 991 阅读 · 0 评论 -
30个Oracle语句优化规则详解
1.选用适合的Oracle优化器Oracle的优化器共有3种:a.RULE(基于规则)b.COST(基于成本)c.CHOOSE(选择性)设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE、COST、CHOOSE、ALL_ROWS、FIRST_ROWS。你当然也在SQL句级或是会话(session)级对其进行覆盖。为了使用转载 2009-06-03 15:03:00 · 1476 阅读 · 0 评论 -
查询oracle中的表名及表说明comments
SELECT SELECT * FROM BI_YINGXIAO. || T.TABLE_NAME || ; || ------ || T.COMMENTS FROM ALL_TAB_COMMENTS T WHERE T.OWNER = BI_YINGXIAO AND T.TABLE_NAME LIKE CSR% ORDER BY T.TABLE_NA原创 2008-12-10 09:53:00 · 5270 阅读 · 0 评论 -
Oracle中的定时执行任务job
Oracle中的定时执行任务job2008-12-30 14:49众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了 让系统定时执行任务的命令Crontab。但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据 库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用转载 2009-02-12 12:56:00 · 17693 阅读 · 1 评论 -
Oracle Grant详解
Oracle Grant详解 GRANT名称GRANT — 赋予一个用户,一个组或所有用户访问权限GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }输入privilege 可能的权限有: SELECT 访问声明的表/视图的所有转载 2009-02-10 13:32:00 · 2115 阅读 · 1 评论