Oracle Dev
文章平均质量分 76
wh62592855
这个作者很懒,什么都没留下…
展开
-
Oracle Dimension
要理解oracle中的dimension,首先要搞清楚dimension和dimension table之间的区别。dimension table是table,和关系数据库中的其他table一样,存放数据,需要实际的存储空间。而dimension则只是一个逻辑结构,定义了 dim转载 2011-07-15 17:07:08 · 4423 阅读 · 1 评论 -
ORACLE中字符型与数字型的类型转换
以前一直没太注意过这个问题,昨天看到论坛里一个朋友发帖子在问一个相关的问题,引发了我想进一步探究这个问题的兴趣。刚才自己动手做了些实验,现在写下来看看,总结一下。当然,这里不是探讨to_char()和to_number()函数的使用哦,呵呵。SQL> create table t4(id varchar2(10)); --创建一个字符型类型的表Table created.SQ原创 2009-12-09 10:49:00 · 8699 阅读 · 0 评论 -
ORACLE如何找出某一列中含有中文的记录
Oracle 9i引入的一个字符函数功能:返回字符对应的ASCII码,对于非ASCII码转化为Unicode并前置符号/ 下面做个例子来看看SQL> create table test(tt varchar2(10));Table created.SQL> insert into test values(haha);1 row created.SQL>原创 2009-12-08 21:58:00 · 2421 阅读 · 0 评论 -
oracle count()函数对null值的处理
count()括号中如果是列名的话则不包含NULL如果是*字符或常量 则包括NULL下面做几个小例子来看一下SQL> create table test(id number,name varchar2(10));Table created.SQL> insert into test values(1,wh);1 row created.SQL> insert into原创 2009-12-08 21:15:00 · 6988 阅读 · 4 评论 -
Oracle数据类型的隐性转换
出于优化的目的,在SQL 的编码中我们常提到要避免对字段进行计算,通常情况下字段的计算导致相应索引无法被使用,造成语句执行的开销增大,然而编码中稍有不慎,Oracle自动进行的隐性转换仍有可能进行了我们不希望看到的操作,进而带来严重的后果,索引扫描可能被替换为几千万行的全表扫描,甚至导致业务逻辑发生变化。因此本文列举了代码中常见的几种隐性类型转换,总结并论证其间的规律,以期在开发工作中避免其带来的转载 2009-12-09 10:45:00 · 1647 阅读 · 0 评论 -
ORA-02069同时使用数据库链和序列时应注意的几点
Error: ORA-02069: global_names parameter must be set to TRUE for this operation Cause: You tried to execute an operation that requires a remote mapping. This can not be done because the parameter call转载 2009-12-07 22:53:00 · 2170 阅读 · 0 评论 -
ORACLE中的INSERT ALL和INSERT FIRST使用
一、无条件 INSERT ALL二、条件 INSERT ALL三、条件 INSERT FIRSTInsert…Select使用Insert Select实现同时向多个表插入记录2007/06/25一、无条件 INSERT ALL--------------------------------------------------------------------------------------转载 2009-12-05 21:26:00 · 3720 阅读 · 1 评论 -
Oracle日期类型的使用
ORACLE 日期格式,以时间 2008-11-21 13:45:25 为例: +++ 年的格式: yy 两位年 显示:08 yyy 三位年 显示:008 yyyy 四位年 显示:2008 +++ 月的格式: mm 数字表示 显示:11 mon 字符集简写表示 显示:11月,若是英文版,则显示nov month 字符集全写表示 显示:11月,若是英文版,则显示november +转载 2009-12-03 08:51:00 · 2305 阅读 · 0 评论 -
ORACLE中实现输出乘法口诀
今天去开发版块转了转,看到一个帖子大家在热烈的讨论乘法口诀。记得以前学习C++的时候最基本的题就是在屏幕上输出一个惩罚口诀。当初是用两个循环就实现了,今天看到很多人用各种不同的方法,学习了不少。在这里把大家的方法总结汇总一下。=================================================================================转载 2009-11-28 15:07:00 · 1959 阅读 · 0 评论 -
ORACLE中如何查找特定对象中的文本内容~
SQL> select dbms_metadata.get_ddl(PROCEDURE,PRO2,SCOTT) text from dual;TEXT---------------------------------------- CREATE OR REPLACE PROCEDURE "SCOTT"."PRO2"isbegindbms_outpu转载 2009-11-24 20:01:00 · 3483 阅读 · 0 评论 -
Oracle 累加和实现
============================Question================================ SQL> select * from emp; EMPID EMPNAME SALARY DEPTID---------- -------------------- ---------- ---转载 2009-11-23 13:22:00 · 2057 阅读 · 0 评论 -
ORACLE外连接小结~
好几次想用到外连接的时候都忘了具体的用法是怎样的,比如说(+)该加在等号的哪一端,或者LFET OUTER JOIN该用在整条语句中的哪个部分。今天正好又碰到一个相关的问题,借此机会总结一下,以后也方便查询,不用每次都去百度了。//table1和table2为两个测试表 随便插入几条数据SQL> select * from table1; ID NAME-----原创 2009-11-22 20:40:00 · 6160 阅读 · 0 评论 -
Authid Current_User--存储过程中也能使用role角色权限
我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式进行系统权限,如grant create table to suk;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。我们知道,用户拥有的r转载 2009-11-21 23:53:00 · 2630 阅读 · 0 评论 -
Oracle sqlplus copy命令用法
本文介绍了如何利用sqlplus copy 命令在两个数据库间转移数据无需用到dblink, 两个数据库间不需直接通讯,当然,需要有一个client段能同时以sqlplus连接到两个数据库问题的提出论坛上有人提出这样的问题:假设有两个数据库,分别处于两个不同的网但有一个客户机安了两块网卡可以同时连到两个数据库请问如果不通过在客户机上建中转表,有没有办法实现这两个数据库中从某一个转载 2009-11-20 13:43:00 · 2257 阅读 · 0 评论 -
ORACLE三层嵌套实现分页功能和ROWNUM的使用
(一)实现分页及性能Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查转载 2009-11-19 15:47:00 · 2696 阅读 · 0 评论 -
ORACLE 外键约束修改行为
Oracle的外键用来限制子表中参考的字段的值,必须在主表中存在。而且在主表的记录发生变化导致外键参考唯一约束值发生了变化时,定义了一系列的动作。在SQL92标准中定义了几种外键改变后,如何处理子表记录的动作,其中包括:限制Restrict:这种方式不允许对被参考的记录的键值执行更新或删除的操作;置为空Set to null:当参考的数据被更新或者删除,那么所有参考它的外键值被置为空;置为默认转载 2009-11-13 23:19:00 · 4336 阅读 · 0 评论 -
Oracle中的二进制、八进制、十进制、十六进制相互转换函数
今天在网上看到一篇关于在oracle中对各种进制数进行转换的帖子,觉得不错,也比较全面,几乎涵盖了经常用到的所有转换。转过来学习一下,也方便以后查询。==================================================================================大家经常遇到进制转换的问题,网上搜到的转换只是部分十进制与其它进制的转换,所以转载 2009-12-10 14:13:00 · 1749 阅读 · 0 评论 -
Oracle EXTRACT()函数
EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression.The field you are extracting must be a field of the datetime_value_expr or interval_va转载 2009-12-13 13:20:00 · 1606 阅读 · 0 评论 -
Oracle dbms_random包的用法
1.dbms_random.value方法dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数,但value()是最常用的,value()的用法一般有两个种,第一 function value return number; 这种用法没转载 2009-12-11 23:30:00 · 3025 阅读 · 1 评论 -
UE中的一些使用技巧
UE中的一些使用技巧转载 2011-01-23 10:50:00 · 4917 阅读 · 0 评论 -
分析函数first_value()与last_value()
分析函数first_value()与last_value()转载 2010-06-23 20:05:00 · 3689 阅读 · 0 评论 -
浅谈构造数据
浅谈构造数据转载 2010-06-22 10:19:00 · 1213 阅读 · 0 评论 -
在ORACLE中使用SQL语句实现排列组合
排列组合 ORACLE SQL原创 2010-06-12 12:37:00 · 7571 阅读 · 0 评论 -
partition outer join in oracle 10g
partition outer join in oracle 10g转载 2010-06-01 21:58:00 · 1441 阅读 · 0 评论 -
CONNECT_BY_ISLEAF
CONNECT_BY_ISLEAF转载 2010-06-03 12:25:00 · 10841 阅读 · 0 评论 -
ORACLE字符串截取函数trim(),ltrim(),rtrim()
1、TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1) 这个地方还是看图更明了一些。看起来很复杂,理解起来很简单:l 如果没有指定任何参数则oracle去除c1头尾空格例如:SELECT TRIM( WhaT is tHis ) FROM DUAL;l 如果指定了c2参数,则oracle去掉c1头尾c2(这个建议细致转载 2010-04-07 17:24:00 · 3519 阅读 · 0 评论 -
使用表的自连接来实现层次化查询
对于层次化的查询,在ORACLE中使用CONNECT BY是很方便的。可惜并不是任何时候都有ORACLE可以使用,在其他环境下就得使用一些其他办法了。今天就碰上这么个问题,在POSTGRESQL里不知道有没有类似的语法,刚刚接触没几天,还不太熟悉,就用表的自连接来实现一个类似功能吧。 --测试数据SQL> create table dept_t(deptno number,deptna原创 2010-04-20 23:52:00 · 1358 阅读 · 0 评论 -
Oracle层次查询和分析函数在号段选取中的应用
Oracle层次查询和分析函数在号段选取中的应用摘要一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查询功能以及分析函数,我们可以很轻松的解决上述问题。关键词:号段选取、连续数、断点、层次查询、分析函数、connect by、rownum、level、转载 2010-03-15 21:33:00 · 1433 阅读 · 0 评论 -
Oracle中to_char()参数详解
1 - / , . ; :"text" 时间分隔符号,除了标准的几个,还允许用文字作为分割符号。例如 to_char(sysdate,YYYY"年"mm"月"dd"日")=2008年04月24日 2 ADA.D. 即拉丁文Anno Domini的简写,表示公元.会根据nls的不同转换为公元或者ad等无特殊注意事项 3 AMA.M. 上午的简写 ,同pm, p.m. (下午) , 中转载 2010-03-08 10:55:00 · 7288 阅读 · 1 评论 -
字符串中的转义字符
一位同事在使用SQL处理一串字符时,出现一个意料之外的问题:这个字符串中包括字符‘&’。我们先看一下现象: SQL> select * from v$version; BANNER----------------------------------------------------------------Oracle Database转载 2010-03-07 22:10:00 · 5490 阅读 · 0 评论 -
获取表中以某个拼音开头的记录
今天在在论坛上有个帖子里的回帖中一个朋友贴出了一个不错的函数,如果记录中有中文的话,通过使用这个函数,可以比较容易的判别出哪些记录是以某个特定首字母拼音开头的。 函数如下CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL( P_NAME IN VARCHAR2)RETURN VARCHAR2 ASV_COMPARE VARCHAR2转载 2009-12-19 23:45:00 · 1393 阅读 · 1 评论 -
Oracle dbms_job package 用法小结
一、设置初始化参数 job_queue_processes job_queue_processes=4 job_queue_interval=10 sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 查看job queue 后台进程 sql>select name,descrip转载 2009-12-14 21:31:00 · 933 阅读 · 0 评论 -
ORACLE中的KEEP()使用方法
2种取值:DENSE_RANK FIRST DENSE_RANK LASTSQL> select * from test;ID MC SL-------------------- -------------------- -------------------1 111 11 222 11 333 21 555 31 666 32 111 12 222 12 333 22 555 29 row转载 2009-12-15 14:12:00 · 12308 阅读 · 0 评论 -
Oracle COALESCE函数
如下例所示 COALESCE(A,B,C,D) 返回参数表中第一个不为空的值(从左开始) A B C D 可以是字段,也可以是其他函数的返回值或者表达式的结果值,如果所有的表达式都是空值,最终将返回一个空值. 使用COALESCE的秘密在于大部分包含空值的表达式最终将返回空值(连接操作符"||"是一个值得注意的例外).例如,空值加任何值都是空值,空值乘任何值也都是空值,依此原创 2009-12-13 13:28:00 · 4613 阅读 · 0 评论 -
ORACLE Top/Bottom N、First/Last、NTile
目录==================================================================1.带空值的排列2.Top/Bottom N查询3.First/Last排名查询4.按层次查询 一、带空值的排列:假如被排列的数据中含有空值呢?SQL> select region_id, customer_id, 2 sum(转载 2009-11-13 21:47:00 · 1313 阅读 · 0 评论 -
ORACLE 游标和游标变量的区别
如何定义游标类型TYPE ref_type_name IS REF CURSOR [RETURN return_type];声明游标变量cursor_name ref_type_name;从技术底层看,两者是相同的。普通plsql cursor在定义时是“静态”的。而Ref cursors可以动态打开。 例如下面例子:Declaretype rc is ref curs转载 2009-11-13 20:02:00 · 1406 阅读 · 0 评论 -
数据量大,也是有助于查找问题的。
数据量大,不可否认管理和维护起来难度都会有所增加。但是我们应该看到另一个好的方面,数据量大了,也是有助于查找问题的。下面是论坛里一个朋友发帖子问的问题: 现有一张表 表名tabel1 KHMC PZM GX SL AA A-01 S1 2 AA原创 2009-11-13 15:25:00 · 851 阅读 · 0 评论 -
Oracle RETURNING INTO 用法示例
The RETURNING INTO clause allows us to return column values for rows affected by DML statements. The following test table is used to demonstrate this clause.DROP TABLE t1;DROP SEQUENCE t1_seq;CREA转载 2009-11-05 22:37:00 · 5059 阅读 · 0 评论 -
select语句返回结果的顺序问题
今天看到论坛上一个朋友的回帖内容,突然意识到自己好像从来没对SELECT语句做过任何思考,即便SELECT是平时使用最多的语句。自己建了两个测试表,内容如下:SQL> conn scott/tigerConnected.SQL> create table a(aid int, name char(1));Table created.SQL>SQL> create t原创 2009-11-04 15:06:00 · 2981 阅读 · 0 评论 -
ORACLE to_char(),to_date()用法
to_date() function1.日期格式参数 含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的第几周 IYYY ISO标准的四位年份 YYYY 四位年份 YYY,YY,Y 年份的最后三位,两位,一位 HH 小时,按12小转载 2009-11-06 16:17:00 · 2412 阅读 · 1 评论