oracle
MOVING
调程序的CXY
展开
-
Oracle强制使用索引
Oracle强制使用索引:select /*+ INDEX(T_MEDFLOW_INTENT,SYS_C00ADDCODE) */ count(t.addcode)from T_MEDFLOW_INTENT twhere 1 = 1AND (AddCode = '4401' or (1 = 1) oraddcode in (SELECT Addcode FR...原创 2013-01-25 16:48:54 · 2673 阅读 · 0 评论 -
ORACLE对象大小写问题
在数据库新建一个测试表(数据库版本为ORACLE 10.2.0.1.0),表名为小写的test。 脚本如下所示:[code="java"]CREATE TABLE test( id NUMBER(10), Name VARCHAR2(20), Sex VARCHAR(2))--查找不到对应数据SELECT * ...原创 2011-08-12 18:01:58 · 99 阅读 · 0 评论 -
Oracle中Decode()、nvl(),sign()函数使用技巧
[code="java"]decode()函數使用技巧·软件环境:1、Windows NT4.0+ORACLE 8.0.42、ORACLE安装路径为:C:\ORANT·含义解释:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 ...原创 2011-03-30 10:09:47 · 219 阅读 · 0 评论 -
Oracle - Nvl函数
nvl( ) 函数从两个表达式返回一个非 null 值。语法NVL(eExpression1, eExpression2)参数eExpression1, eExpression2如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回...原创 2011-03-25 17:12:32 · 74 阅读 · 0 评论 -
Oracle中to_char函数处理数字时前面的空格问题
自打我用to_char来转换数字就发现了这个问题,即转换结果字符串最前面多了一个空格。我一直用trim再处理一下,没有关注过原因。今天上网查了一下,看到了一个说法及解决方案。 Oracle to_char():数字转字符串,结果添加空格: select to_char(12,'00') from dual 字符串是 ' 12',前面多了一个空格, sel...原创 2011-03-25 17:06:13 · 297 阅读 · 0 评论 -
Oralce定时执行存储过程任务的设置步骤
实现的功能: 每隔一分钟自动向getSysDate表中插入当前的系统时间。 一、创测试表 create table getSysDate(test date); 二、创要定时执行的存储过程 create or replace procedure insertSysDate as begin insert into ...原创 2011-03-20 18:10:20 · 82 阅读 · 0 评论 -
oracle 网址收集
1、Number decimal(numeric )、float 和 real 数据类型的区别 http://hi.baidu.com/lvzhnan/blog/item/55189a35645aa2bad1a2d327.html2、Oracle to_char格式化函数 http://dolphin-ygj.iteye.com/blog/4080303、主题...原创 2011-03-20 18:03:27 · 81 阅读 · 0 评论 -
oracle to_date()用法
1、select to_date('2011-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') from dual ; to_date(string,[format,[nlsparams]])函数将char 或varchar2类型的值转化为一个Date值。 format,nlsparams是可选项;format 指定了要转化的格式;...原创 2011-03-20 17:45:30 · 150 阅读 · 0 评论 -
oracle 科学计数法转化为数值型显示
[code="java"]1、select to_char( to_number(column_name)) from tablename 2、在使用ORACLE中的进行计算或者函数处理时,会出现大数据自动科学计数的形式表示(类似9.2345678E14),有时不希望用科学计算法表示这个数据,此时要在出来结果的最外层使用TO_CHAR不让得到的数据是科学计数的方式。...原创 2011-03-20 12:41:37 · 2713 阅读 · 0 评论 -
Oracle 交集、并集、差集、笛卡尔积
[code="java"]并集: 使用 UNION 运算符组合多个结果 SELECT name,num FROM Table1 UNION SELECT name,num FROM Table2 注意:查询的字段个数必须相同,Table2的字段类型要跟Table1的相同. 如果使用 UNION 运算符,那么单独的 SELECT 语句不能包含其自己的 ORDER BY...原创 2011-03-18 20:17:40 · 392 阅读 · 0 评论 -
Oracle的split
首先,Oracle是没有split函数的,因为Oracle看不到和数组类似的结构,因此这里参照网上的fn_split的函数做了点改进,下面的可以直接用 --网上的fn_split好像过滤掉null值,这里做了点改进,请注意区别 [code="java"]1.create or replace type ty_str_split is table of varchar2 (4000)...原创 2011-03-18 17:35:20 · 280 阅读 · 0 评论 -
java中oracle特殊字符的查询
escape:指定某字符为特殊字符:例如指定‘\’ 为特殊字符java: [code="java"]/** * 将dao中使用like的时候将内容转义,可以转义'\','%','_' * * @param content 转义前的字符串 * @return String 转义后的字符串 */ public stat...原创 2011-10-18 14:38:01 · 431 阅读 · 0 评论 -
Oracle中的 单引号 和 双引号
双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写。 而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写。单引号用于标识字符与数字的区别 当指定字符串文本时,必须用单引号将字符串文本引住。 Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个单引号示意。...原创 2011-10-18 09:17:17 · 70 阅读 · 0 评论 -
pl/sql case or decode
SELECT CASE 3 WHEN 1 THEN 'FIRST' WHEN 2 THEN 'SECOND' ELSE ' 1 OR 2' END FROM DUAL原创 2011-10-16 00:19:09 · 69 阅读 · 0 评论 -
pl/sql 集合代码 的遍历方式
[code="java"]-- Created on 2011-10-12 by HUCHANGKUN declare -- Local variables here i integer; V_LIST RECORDLIST := RECORDLIST(); TYPE RECORD_OBJ IS RECORD( ID INTEGER,...原创 2011-10-12 10:22:47 · 457 阅读 · 0 评论 -
nls_sort和nlssort 排序功能介绍
ALTER SESSION SET NLS_SORT=''; 排序影响整个会话Oracle9i之前,中文是按照二进制编码进行排序的。 在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SC...原创 2012-04-23 23:20:44 · 271 阅读 · 0 评论 -
PRAGMA EXCEPTION_INIT用法
如果要处理未命名的内部异常,必须使用OTHERS异常处理器或PRAGMA EXCEPTION_INIT 。PRAGMA由编译器控制,或者是对于编译器的注释。PRAGMA在编译时处理,而不是在运行时处理。EXCEPTION_INIT告诉编译器将异常名与ORACLE错误码结合起来,这样可以通过名字引用任意的内部异常,并且可以通过名字为异常编写一适当的异常处理器。 在子程序中使用EXCEP...原创 2012-04-23 23:21:03 · 176 阅读 · 0 评论 -
Oracle 下读取表/字段的备注信息
Oracle 通过COMMENT ON TABLE / COMMENT ON COLUMN 追加表/字段的备注。CREATE TABLE "MR_DEPT" ( "DEPT_ID" NUMBER NOT NULL , "PARENT_ID" NUMBER, "DEPT_NAME" CHAR(20) NOT NULL , "...原创 2012-04-30 19:19:39 · 168 阅读 · 0 评论 -
Oracle if exists(...)
对于Oracle中没有 if exists(...) 的语法,目前有许多种解决方法,这里先分析常用的三种,推荐使用最后一种第一种是最常用的,判断count(*)的值是否为零,如下declare v_cnt number;begin select count(*) into v_cnt from T_VIP where col=1; if v_cnt = 0...原创 2013-01-22 10:52:54 · 108 阅读 · 0 评论 -
oracle 赋debug权限
pl/sql 报错 不能运行debug 时ora-0131:Insufficient privileges关键字: debug connect session system privilege 用pl/sql developer 调试存储过程报错note:debugging requires the debug connect session system priv...原创 2013-01-15 15:29:20 · 203 阅读 · 0 评论 -
Oracle 10g使用游标更新或删除数据
在定义又表示必须要带有for update子句,用于在游标结果集数据上加行共享锁,以防止其他用户在相应行上执行dml操作;当select语句引用到多张表时,使用of子句可以确定哪些表要加锁,如果没有of子句,则会在select语句所引用的全部表上加锁;nowait子句用于指定不等待锁。在提取了游标数据之后,为了更新或删除当前游标行数据,必须在update或delete语句中引用where curr...原创 2013-01-04 16:03:10 · 147 阅读 · 0 评论 -
oracle 的 CONNECT BY 和START WITH
在SELECT命令中使用CONNECT BY 和START WITH 子句可以查询表中的树形结构关系。其命令格式如下: SELECT ….. CONNECT BY {PRIOR 列名1=列名2|列名1=PRIOR 列名2} [START WITH]; 其中:CONNECT BY子句说明每行资料将是按层次顺序检索,并规定将表中的资料连入树形结构的关系中。 0PRIORY运算符必须放置...原创 2013-01-04 15:00:58 · 81 阅读 · 0 评论 -
树-Oracle用Start with...Connect By子句递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。创建示例表:[code="java"]CREATE TABLE TBL_TEST( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER DEFAULT 0...原创 2013-01-04 14:59:23 · 76 阅读 · 0 评论 -
java.sql.SQLException: ORA-01436: 用户数据中的 CONNECT BY 循环
[code="java"]SELECT r1.region_id,parent_id FROM cnl_region r1 WHERE r1.region_id =1 START WITH r1.region_id = 1 CONNECT BY PRIOR r1.region_id = r1.parent_id[/co...原创 2013-01-04 14:55:34 · 925 阅读 · 0 评论 -
Oracle创建删除用户、角色、表空间、导入导出、...命令总结
//创建临时表空间 create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //tempfile参数必须有...原创 2013-01-03 16:24:57 · 73 阅读 · 0 评论 -
Oracle grant revoke 总结
[code="java"]一、权限是用户对一项功能的执行权力。在Oracle 中,根据系统管理方式不同,将权限分为系统权限 与实体权限 两类。系统权限 是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。实体权限 是指用户对具体的模式实体 (schema)所拥有的权限。这样讲可以有些模糊。举个例子来说:select any table是系统权限,它表示可以...原创 2012-04-22 22:11:19 · 157 阅读 · 0 评论 -
table array object record
[code="java"]前段时间我恰好有关于这些的学习笔记,贴出来大家指点一下:=====================================================record:该集合可以存储一对多的标量属性。pl/sql表:是pl/sql代码中的“表”,只存在应用运行期间(内存里),类似“数组”,稀疏的,大小可以动态增长,可以有负下标,但不能存储在数据库表...原创 2012-04-22 22:10:35 · 94 阅读 · 0 评论 -
浅谈oracle复合数据类型
[code="java"]--本文档可以直接拷贝运行。/*oracle复合数据类型PL/SQL有两种复合数据结构:记录和集合。记录由不同的域组成,集合由不同的元素组成。*//*一、记录类型类似C语言中的结构,有两种定义方式:显式定义和隐式定义。*/create table test(id varchar2(20),mc varchar...原创 2012-04-22 22:10:08 · 68 阅读 · 0 评论 -
Oracle存储过程返回游标 [转载]
[code="java"]有俩种方法:一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为in out 或outSYS_REFCURSOR 型游标,该游标是Oracle 以预先定义的游标,可作出参数进行传递 (1)声明个人系统游标.(推荐)create or replace p_temp_procedure( cur_arg out sys_...原创 2012-04-22 22:09:50 · 261 阅读 · 0 评论 -
ResultSet.getMetaData() 的使用
java.sql.ResultSet.getMetaData() 得到结果集的结构信息,比如字段数、字段名等。java.sql.ResultSet.getMetaData().getTableName(1)) 就可以返回表名java.sql.ResultSet.getMetaData().getColumnCount() 得到数据集的列数...原创 2012-08-12 11:22:17 · 414 阅读 · 0 评论 -
Oracle 递归查询 树查询 start with connect by prior
网页地址:http://www.iteye.com/topic/287749http://www.iteye.com/topic/1116329原创 2012-02-28 09:52:58 · 77 阅读 · 0 评论 -
ORACLE中如何查找特定对象中的文本内容~
[c-sharp] view plaincopySQL> select dbms_metadata.get_ddl('PROCEDURE','PRO2','SCOTT') text from dual; TEXT ---------------------------------------- CREATE OR REPLACE PROCEDURE "SC...原创 2012-04-30 19:37:28 · 274 阅读 · 0 评论 -
PL/SQL 集合类型
--创建一个类型CREATE OR REPLACE TYPE Project IS OBJECT ( project_no NUMBER(2), title VARCHAR2(35), cost NUMBER(7,2))--创建一个集合CREATE OR REPLACE TYPE ProjectList is table of Project-- ...原创 2011-10-11 14:07:57 · 62 阅读 · 0 评论 -
Authid current_user的用法
[code="java"]Authid Current_User:以执行过程的用户的权限来处理涉及的对象权限. 这是典型的,数据库中只创建一个存储过程,所有用户都可以使用,但是每个用户使用的时候 只是用自己的权限权限执行,oracle自己的包很多都这样的。 存储过程默认是用定义者definer 的身份调用的,如果加上AUTHID CURRENT_USER,则用当前登陆的用户权限调用...原创 2011-10-11 09:45:31 · 253 阅读 · 0 评论 -
Oracle rumnum
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。 举例说明:例如表:student(学生)表,表结构为:ID char(6) --学号name VARCHAR2(10) --姓名 create ...原创 2010-11-02 09:49:23 · 267 阅读 · 0 评论 -
删除数据truncate与delete的区别
truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可以恢复的 ...原创 2011-05-12 15:29:59 · 88 阅读 · 0 评论 -
Oracle DATA的一个常见问题计算时间差
[code="java"] 计算时间差是Oracle DATA数据类型的一个常见问题。Oracle支持日期计算,你可以创建诸如“日期1-日期2”这样的表达式来计算这两个日期之间的时间差。 一旦你发现了时间差异,你可以使用简单的技巧来以天、小时、分钟或者秒为单位来计算时间差。为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏。 使用完善复杂的转换函数来转...原创 2011-01-20 12:16:17 · 129 阅读 · 0 评论 -
高效率Oracle SQL语句【转载】
[code="java"]最近在JavaEye上发现好多同志对sql的优化好像是知道的很少,最近总结了几条仅供参考,不过除少数可能要依情况而定,大多数还是相当有效的。 【注:以下说的(低效)与(高效)都是相当来说的。】 1、Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句。 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉...原创 2011-05-07 15:48:46 · 70 阅读 · 0 评论 -
ORACLE flashback
flashback(闪回)是Oracle10g里新加入的一个非常有用的一个feature。通过flashback的功能,我们可以避开传统的recover的方式去恢复一些我们进行的误操作。不过相当recovery来说。这两个还是有差别的。1. recovery的恢复是基于数据文件的,先要restore备份好的数据文件,flashback是基于flashback log文件的,所以基点不一样,...原创 2011-01-15 15:52:04 · 85 阅读 · 0 评论 -
Redo log与Undo log
redo log 重做日志 undo log 撤消日志重做日志:每当有操作执行前,将数据真正更改时,先前相关操作写入重做日志。这样当断电,或者一些意外,导致后续任务无法完成时,系统恢复后,可以继续完成这些更改 撤消日志:当一些更改在执行一半时,发生意外,而无法完成,则可以根据撤消日志恢复到更改之前的壮态有两个概念:前滚与回退 比如某一时刻数据库DOWN...原创 2011-01-15 15:45:51 · 156 阅读 · 0 评论