随笔分类 -  Oracle

Oracle
摘要:Oracle左连接,右连接数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3、自连接(连接发生在一张基表内) select a.studentno, a.studentname, b.classname from students a, classes b where a.classid(+) = b.classid; STUDENTNO STUDENTNAM CLASSNAME ---------- ---------- -.. 阅读全文
posted @ 2014-03-05 14:59 EdwardSun888 阅读(198) 评论(0) 推荐(0)
摘要:谈谈Oracle dba_free_space博客分类:ORACLE管理OracleSQLC#C++C顾名思义,dba_free_space指的是Oracle还有多少表空间剩余空间,其视图结构也相当简单:SQL> desc dba_free_space Name Null? Type ----------------------------------------- -------- ---------------------------- TABLESPACE_NAME VARCHAR2(30) FILE_ID NUMBER BLOCK_ID NUMBER BYTES NUMBER B 阅读全文
posted @ 2013-12-26 15:26 EdwardSun888 阅读(4074) 评论(0) 推荐(0)
摘要:Oracle提供Wrap工具,可以用于加密你的Package等.不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码。以下是个例子:1.源代码create or replace function get_rowid(l_rowid in varchar2)return varchar2isls_my_rowid varchar2(200); rowid_type number; object_number number; relative_fno number; block_numbe... 阅读全文
posted @ 2013-12-26 14:53 EdwardSun888 阅读(666) 评论(0) 推荐(0)
摘要:一. Wrap 说明官网的说明如下:APL/SQL Source Text Wrappinghttp://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/wrap.htm#LNPLS1744You can wrap the PL/SQL source text for any of thesestored PL/SQL units, therebypreventing anyone from displaying or editing that text: (1)Package specification (2)Package b 阅读全文
posted @ 2013-12-26 14:52 EdwardSun888 阅读(5479) 评论(0) 推荐(0)
摘要:oracle_base和oracle_home 的区别$ORACLE_BASE和$ORACLE_HOME 的区别 2009-06-22 11:25:34|分类: Oracle |字号订阅$ORACLE_BASE和$ORACLE_HOME 的区别$ORACLE_BASE for installation purpose only. oracle will use it to determine the optimal disk structure (oradata oraInventory product etc). it's optional. $ORACLE_HOME is usua 阅读全文
posted @ 2013-12-26 14:13 EdwardSun888 阅读(4706) 评论(0) 推荐(0)
摘要:平时很少用的这几个操作,今天遇到了。于是又看了一下文档。SOME和ANY一样,是比较宽松的,类似于OR。满足其中任何一个都可以。ALL要求严格一些,类似于AND,必须全部满足才可以。不能单独使用: Must be preceded by =, !=, >, =.其实更应该关注的是紧跟着的备注信息,这个一开始比较难以理解。SOME (ANY)Evaluates to FALSE if the query returns no rows.ALLEvaluates to TRUE if the query returns no rows.做个测试吧。先看基本信息。SQL> select 阅读全文
posted @ 2013-12-26 12:30 EdwardSun888 阅读(253) 评论(0) 推荐(0)
摘要:oracle 自主事务处理怎么理解,没有自主事务处理会有什么弊端呢?2013-03-22 10:20 4358673ym | 分类:数据库DB 分享到: 2013-03-22 10:26 提问者采纳热心网友自主事务处理, 就是 我这个存储过程里面, 自己管理事务处理。我自己的对数据作了修改, 提交了,那么就提交了。无视外部的事务, 是否提交或者回滚。这个主要用于一些特殊的情况, 例如 安全审核记录的处理。例如 有人要更新某个 很重要的表。 那么我要记录这个 更新的日志信息。 是谁,什么时间,什么机器更新的。无论这个人, 本次更新操作是否成功, 我都要记录。没有自主事务处理的情况下,... 阅读全文
posted @ 2013-12-25 11:40 EdwardSun888 阅读(945) 评论(0) 推荐(0)
摘要:oracle读写文件--利用utl_file包对磁盘文件的读写操作摘要:用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做,后来想起ORACLE有很多包,功能很好很强大,于是网上参考了些文章完成了. 主要是用了ORACLE的两个包:UTL_FILE和DBMS_LOB.实现过程:第一步:以管理员用户登陆设置可操作目录--CREATEDIRECTORYprivilegeisgrantedonlytoSYSandSYSTEMbydefault.createorreplacedirectoryBLOBDIRas'D:\PI 阅读全文
posted @ 2013-12-25 10:06 EdwardSun888 阅读(2498) 评论(0) 推荐(0)
摘要:Oracle中序列的使用[日期:2012-02-18]来源:Linux社区 作者:Linux[字体:大 中 小]数据库设计的三大范式第一条就是独立的表结构中必须有唯一主键来标识表中数据.在以往微软的SQL Server(duo版本)平台上.手动编码实现表中主键.并设定为自增列是极其简单.编码如下:typeidintnotnullprimarykeyidentity(1,1),在Oracle中如果要设定一个独立表结构的主键为自增.其中就涉及到了Oracle 10G中关于序列(Sequence)的使用.(A)Sequence-序列的定义语法SEquence-序列是一个数据库项.它生成一个整数序列. 阅读全文
posted @ 2013-12-24 11:43 EdwardSun888 阅读(1325) 评论(0) 推荐(1)
摘要:Oracle触发器5(INSTEAD OF触发器)前提:对于简单的视图,可以直接进行DML操作,但是对于复杂视图,不允许直接执行DML操作,当视图符合以下任何一种情况都不可以: 具有集合操作符(UNION,UNION ALL,INTERSECT,MINUS); 具有分组函数(MIN,MAX,SUM,AVG,COUNT); 具有GROUP BY,CONNECT BY 或START WITH子句; 具有DISTINCT关键字 具有连接查询在具有以上情况的复杂视图执行DML操作,必须要基于视图建立INSTEAD OF触发器。建立之后,就可以基于复杂视图执行DML语句注意事项: INSTEAD OF选 阅读全文
posted @ 2013-12-24 11:31 EdwardSun888 阅读(819) 评论(0) 推荐(0)
摘要:DBMS_LOB包的使用1、 dbms_lob.append(dest_lob IN OUT NOCOPY BLOB,src_lob IN BLOB) dbms_lob.append( dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS, src_lob IN CLOB CHRACTER SET dest_lob%CHARSET); 将源LOB变量的内容添加到目标LOB变量的尾部。 示例:dest_lob clob; src_lob clob; dbms_lob.append(dest_lob,src_lob);2、 dbms_lob.close( 阅读全文
posted @ 2013-12-24 11:08 EdwardSun888 阅读(556) 评论(0) 推荐(0)
摘要:Oracle入门4-REF Cursor转自:http://blog.sina.com.cn/s/blog_55dbebb00100gxsc.html自:http://blog.csdn.net/qfs_v/archive/2008/05/07/2410308.aspx注意:这篇文章的可取之处是定义很好,但是举的例子不能执行,由于我现在也是入门,还没有修改的能力。很怀疑作者是有意的,故意让读者执行不了。在上文 Oracle 系列:Cursor (参见:http://blog.csdn.net/qfs_v/archive/2008/05/06/2404794.aspx)中提到个思考:怎样让游标作 阅读全文
posted @ 2013-12-23 14:33 EdwardSun888 阅读(208) 评论(0) 推荐(0)
摘要:ORACLE抽象数据类型*抽象数据类型*/1,抽象数据类型 概念包含一个或多个子类型的数据类型不局限于ORACLE的标准数据类型可以用于其他数据类型中2,创建抽象数据类型 的语法(必须用NOT FINAL关键字指出是可以继承的类型)CREATE TYPE type_name AS OBJECT (columns……) [NOT FINAL];//例:--创建抽象数据类型 ——地址类型—— addresstypecreate or replace type addresstype as object(province varchar(20),city varchar(30),street var 阅读全文
posted @ 2013-12-20 15:58 EdwardSun888 阅读(753) 评论(0) 推荐(0)
摘要:簇和簇表 簇其实就是一组表,是一组共享相同数据块的多个表组成。 将经常一起使用的表组合在一起成簇可以提高处理效率。 在一个簇中的表就叫做簇表。建立顺序是:簇→簇表→数据→簇索引 1、创建簇的 格式 CREATE CLUSTER cluster_name (column date_type [,column datatype]...) [PCTUSED 40 | integer] [PCTFREE 10 | integer] [SIZE integer] [INITRANS 1 | integer] [MAXTRANS 255 | integer] [TABLESPACE tables... 阅读全文
posted @ 2013-12-20 15:50 EdwardSun888 阅读(608) 评论(0) 推荐(0)
摘要:1、语法create bitmap index index_name on 表名(字段);2、举个例子你就能明白了:如有表 test(id,name,address)数据(1,张三,大连)(2,李四,天津)(3,王五,北京)(4,赵六,大连)....类似这样的数据,如果查询的时候用到 【where address='大连'】,因为数据库中有很多这样的数据,所以一般的索引起不到查询加速的作用,而建立位图索引后会产生如下位图效果:假设有4条数据(就如上所示)大连 天津 北京 1 0 0 0 1 0 0 0 1 1 0 0这样当查询:sele... 阅读全文
posted @ 2013-12-20 15:38 EdwardSun888 阅读(640) 评论(0) 推荐(0)
摘要:oracle表分区详解一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。二、Oracle分区优缺点优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可; 均衡I/O:可以把不同的分区映射到磁盘以 阅读全文
posted @ 2013-12-20 15:07 EdwardSun888 阅读(738) 评论(0) 推荐(0)
摘要:Oracle中的Union、UnionAll、Intersect、Minus 众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。假设我们有一个表Student,包括以下字段与数据:droptablestudent;createtablestudent( idintprimarykey, namenvarchar2(50)notnull,scorenumbernotnull); insertintostudentvalues(1,'Aaron',78);insertintostudentvalues(2,'Bill',76);inse 阅读全文
posted @ 2013-12-20 14:39 EdwardSun888 阅读(462) 评论(0) 推荐(0)
摘要:和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集INTERSECT 的语法如下: [SQL语句 1]INTERSECT[SQL语句 2] 假设我们有以下的两个表格, A表格Place Price Date Los Angeles $1500 Jan-05-1999 San Diego $250 Ja... 阅读全文
posted @ 2013-12-20 14:36 EdwardSun888 阅读(13889) 评论(0) 推荐(0)
摘要:Oracle之savepoint什么是savepoint?Use the SAVEPOINT statement to identify a point in a transaction to which you can later roll back.例如: SQL> SELECT * FROM SCOTT.DEPT ;DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTONSQL& 阅读全文
posted @ 2013-12-20 14:23 EdwardSun888 阅读(383) 评论(0) 推荐(0)
摘要:首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE))小时:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)分钟:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)秒:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)毫秒:ROUND(TO_NUMBER(END_DATE - START_DATE) * 阅读全文
posted @ 2013-12-13 14:01 EdwardSun888 阅读(23501) 评论(0) 推荐(0)