
Oracle
文章平均质量分 92
a9529lty
这个作者很懒,什么都没留下…
展开
-
oracle删除,修改主健/外键代码
删除索引: drop index PK_fsoReplan 删除主键: ALTER TABLE fsoreplan drop CONSTRAINT PK_fsoReplan 删除外键: ALTER TABLE tablea_tableb drop CONSTRAINT FK_AB 创建主键:(多个主健一起创建) ALTER TABLE fsoreplan add CONSTRAIN转载 2007-12-15 13:58:00 · 1559 阅读 · 0 评论 -
window用计划任务实现oracle数据备份
1.首先建立一个文件夹取名为oracle_backup2.在oracle_backup文件夹下建立三个文件夹分别取名为backup和Old_backup和script3.在script文件夹下面建立3个文件分别为:exp.txt和Oracle_bakup.bat和Oracle_bakup.vbsexp.txt的代码如下: userid=system/manager@xyj转载 2007-12-15 13:57:00 · 977 阅读 · 0 评论 -
case 放在Where
select count(*), sum(t.realsalary) from taxreport_temp t inner join employee e on t.id = e.id where ( case when e.housetax=1 then 4000 w转载 2008-05-04 13:53:00 · 1612 阅读 · 1 评论 -
Oracle的换行符
在SQL中,表示字符串得引号强烈建议使用单引号()。虽然MySQL也可以使用双引号("),但是为了和SQL Server和Oracle统一,建议都使用单引号。如果在字符串中也有单引号出现的话,在SQL中需要将其替换为两个单引号(),DBMS会将其解释为一个单引号的。关于SQL的换行符和字符串连接符,在MySQL、SQL Server和Oracle中均有不同,下面以列表显示。原创 2008-08-01 19:39:00 · 1625 阅读 · 0 评论 -
Oracle中如何计算时间差
计算时间差是Oracle DATA数据类型的一个常见问题。Oracle支持日期计算,你可以创建诸如“日期1-日期2”这样的表达式来计算这两个日期之间的时间差。一旦你发现了时间差异,你可以使用简单的技巧来以天、小时、分钟或者秒为单位来计算时间差。为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏。使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法。r转载 2008-08-08 15:11:00 · 5688 阅读 · 2 评论 -
ORACLE按照拼音,部首,笔画排序
下面的方法需要ORACLE9i和以上的版本才支持。Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序,系转载 2008-08-08 15:13:00 · 6401 阅读 · 6 评论 -
查询日期所在1周的数据
SELECT T_KOJIN_YOTEI."YOTEI" AS "YOTEI", T_KOJIN_YOTEI."BASHO" AS "BASHO", T_KOJIN_YOTEI."YOTEI_START_DT" AS "YOTEI_START_DT", T_KOJIN_YOTEI."YOTEI_END_DT" AS "YOTEI_END_DT", T_KAIIN."SYSTEM_NM"原创 2008-05-29 21:40:00 · 912 阅读 · 0 评论 -
Case 时间转换
SELECT T_KOJIN_YOTEI."YOTEI" AS "YOTEI", T_KOJIN_YOTEI."BASHO" AS "BASHO", T_KOJIN_YOTEI."YOTEI_START_DT", CASE WHEN TO_CHAR(T_KOJIN_YOTEI."YOTEI_START_DT",HH24:MI) = 07:30 THEN TO_DATE(R原创 2008-05-29 21:38:00 · 870 阅读 · 0 评论 -
Oracle中dual表的用途
1、查看当前用户,可以在 SQL Plus中执行下面语句select user from dual;2、用来调用系统函数select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;--获得当前系统时间select SYS_CONTEXT(USERENV,TERMINAL) from dual;--获得主机名sele原创 2008-05-31 13:36:00 · 1261 阅读 · 1 评论 -
ORACLE函数大全
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE--------- --------- --------- ---------转载 2008-05-31 14:03:00 · 896 阅读 · 0 评论 -
Oracle多表级联删除方法
创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除。哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了。 表间的关系比较复杂,数据量又比较多,一个个删绝对会出大问题。于是实验了几种解决的办法,现小结一下。 方法一:创建约束时设定级联删除(但一般由于各种原因或出于各种考虑在创建数据库时没有设定转载 2008-08-26 22:45:00 · 5274 阅读 · 2 评论 -
判断2个时间段是否有交集
CREATE OR REPLACE FUNCTION compareTime ( v_beginToc date, v_endToc date, v_begin date, v_end date )RETURN NUMBERAS v_result NUMBER(1):=0; BEGIN IF (v_beginToc BETWEEN v_begin AND v_end) O原创 2008-08-29 19:19:00 · 3274 阅读 · 0 评论 -
判断一个日期都多少天
SELECT TO_NUMBER(ADD_MONTHS(TO_DATE(2008-02-02,YYYY-MM-DD),1) - TO_DATE(2008-02-02,YYYY-MM-DD)) AS DAYSUM FROM DUAL; 也可以用LAST_MOUTH这个方法原创 2008-08-29 19:25:00 · 953 阅读 · 2 评论 -
Oracle 方法返回自定义表类型的例子
create or replace type t_test as object(id integer,rq date,mc varchar2(60));create or replace type t_test_table as table of t_test;create or replace function f_test_array(n in number default null)转载 2008-08-29 19:16:00 · 1257 阅读 · 0 评论 -
判断2个日期之间相差多少个月
SELECT ROUND(TO_NUMBER(MONTHS_BETWEEN(TO_DATE(2008-03-04,YYYY-MM-DD),TO_DATE(2008-02-04,YYYY-MM-DD))))AS MOUTHSUN , FROM DUAL;原创 2008-08-29 19:22:00 · 1515 阅读 · 0 评论 -
SQL Server和Oracle的常用函数对比
---------数学函数1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select f转载 2008-08-31 22:15:00 · 765 阅读 · 0 评论 -
查看本机器的oralce 的SID
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0/ORACLE_SID转载 2008-09-03 19:06:00 · 1708 阅读 · 0 评论 -
oracle dblink 过程的几点心得
关于创建oracle dblink 过程的几点心得吧 俩台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。 创建可以采用两种方式: 1、已经配置本地服转载 2008-09-05 23:16:00 · 1023 阅读 · 0 评论 -
完美卸载Oracle
如果Oracle安装在Windows上,那么删除起来特别麻烦,以下列出具体步骤: 软件环境: Windows 2000、ORACLE 8.1.7;ORACLE安装路径为:C:/ORACLE 实现方法: 1、开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 2、开始->程序->Oracle - OraHome81->Oracle Installati转载 2008-09-05 23:18:00 · 1123 阅读 · 0 评论 -
如何使用Oracle sql developer连接Mysql数据库
在设置root账户密码时,可以选择是否允许其从远程访问。默认情况下是不允许的。在命令行下,可以有两种大同小异的方法来作此设置:(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY something WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO转载 2008-09-05 23:49:00 · 5286 阅读 · 3 评论 -
oracle 10g透明网关访问sqlserver的心得
ORACLE 10g 安装在:192.168.0.250 的window2003 server(版本:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production)SqlServer 2000安装在:192.168.0.233 的window2003 server二、下载透明网关(GATEWAY)10转载 2008-09-05 23:21:00 · 3805 阅读 · 0 评论 -
Oracle SQL 优化
1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种:a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆转载 2008-09-06 16:29:00 · 1415 阅读 · 0 评论 -
Oralce exception
ACCESS_INTO_NULL为对象赋值前必需初始化对象。对应ORA-06530错误。CASE_NOT_FOUND使用CASE语句时在WHEN子句中没有包含必需的条件分支,并且没有包含ELSE语句。对应ORA-06592错误。COLLECTION_IS_NULL给集合元素赋值前,必需初始化集合元素。对应ORA-06531错误。CURSOR_ALRADY_OPEN重新打开已经打开的游标。对应OR转载 2008-09-16 19:04:00 · 1408 阅读 · 0 评论 -
oracle forall 介绍
oracle forallFORALL语句的一个关键性改进,它可大大简化代码,并且对于那些要在PL/SQL程序中更新很多行数据的程序来说,它可显著提高其性能。1:用FORALL来增强DML的处理能力Oracle为Oracle8i中的PL/SQL引入了两个新的数据操纵语言(DML)语句:BULK COLLECT和FORALL。这两个语句在PL/SQL内部进行一种数组处理转载 2008-09-16 19:05:00 · 9487 阅读 · 4 评论 -
oracle 实现 split 函数 (返回数组)
功能描述:用指定分隔符切割输入的字符串,返回一维数组,每个数组元素为一个子串。源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)转载 2009-01-17 14:09:00 · 4650 阅读 · 0 评论 -
Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)
目录===============================================1.使用rownum为记录排名2.使用分析函数来为记录排名3.使用分析函数为记录进行分组排名一、使用rownum为记录排名:在前面一篇《Oracle开发专题之:分析函数》,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题:①对所有客户按订单总额进行排名②按区域和客户订单总额进行排名③找转载 2009-02-09 19:11:00 · 1242 阅读 · 0 评论 -
Oracle数据导入导出imp/exp命令
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录o转载 2008-12-08 20:26:00 · 1914 阅读 · 1 评论 -
oracle中集合的方法
除了构造函数外,集合还有很多内建函数,这些函数称为方法。调用方法的语法如下: collection.method 下表中列出oracle中集合的方法 方法 描述 使用限制 COUNT 返回集合中元素的个数 DELETE 删除集合中所有元素 DELETE() 删除元素下标为x的元素,如果x为null,则集合保持不变 对VARRAY非法 DELETE(,) 删除元素下标从X到Y的元转载 2008-12-10 18:05:00 · 1409 阅读 · 0 评论 -
oracle 里有关树查询
格式:SELECT columnFROM table_nameSTART WITH column=valueCONNECT BY PRIOR 父主键=子外键 select lpad( ,4*(level-1))||name name,job,id,super from emp start with super is null connect by prior id=super转载 2009-07-16 20:24:00 · 825 阅读 · 0 评论 -
Oracle层次查询和分析函数
摘要一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查询功能以及分析函数,我们可以很轻松的解决上述问题。n 关键词:号段选取、连续数、断点、层次查询、分析函数、connect by、rownum、level、lead、lag转载 2009-05-27 22:04:00 · 1240 阅读 · 0 评论 -
Oracle 10G:PL/SQL正规表达式(正则表达式)手册
Oracle Database 10g 的一个新特性大大提高了您搜索和处理字符数据的能力。这个特性就是正规表达式,是一种用来描述文本模式的表示方法。很久以来它已在许多编程语言和大量 UNIX 实用工具中出现过了。 Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的。如果您不熟悉正规表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上有点神转载 2009-06-23 20:38:00 · 1386 阅读 · 0 评论 -
Oracle Function调用java代码
原文传送门:http://www.blogjava.net/improviser/archive/2008/12/07/244911.html在前一篇文章中简单介绍了JAVA程序如何调用Oracle存储过程的基本语法程序结构, 本文将介绍JAVA跟Oracle的另一种关系,即通过JAVA编写Oracle存储过程。 通常情况下,我们都是使用Oracle数据库系统中的ps/sql语句来为orac转载 2009-11-05 16:29:00 · 4303 阅读 · 3 评论 -
Oracle计算时间差表达式
--获取两时间的相差豪秒数select ceil((To_date(2008-05-02 00:00:00 , yyyy-mm-dd hh24-mi-ss) - To_date(2008-04-30 23:59:59 , yyyy-mm-dd hh24-mi-ss)) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;/*相差豪秒数----------转载 2009-11-02 13:01:00 · 833 阅读 · 1 评论 -
找出表中重复数据中最大日期的数据
优快云原文传送门:http://topic.youkuaiyun.com/u/20091103 ... 7e7b9d88.html?67029问题入下:我有一个表:GDGDGD 字段 NAME VARCHAR(10) STAT VARCHAR(10) DTA DATE 我想找出NAME重复中最大日期的数据。 如:原表: NAME STAT DTA 111 1转载 2009-11-16 16:35:00 · 1903 阅读 · 0 评论 -
Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
oracle的分析函数over 及开窗函数一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 下面通过几个例子来说明其应用。 1:统计某商店的营业额。 date转载 2009-11-16 17:00:00 · 882 阅读 · 0 评论 -
一则over(partition by )的用法
原文传送门:http://www.pkwall.com/result/ae72350group by 子名问题在一个表中能过group by 子名进行分组,怎样能得到第一组的第一条记录?比如:有一个表scrap_tdocumentno update_time bu name1001 20061213 xx alex1001 20060910 yy xxx1002 2007转载 2009-11-16 17:05:00 · 1160 阅读 · 0 评论 -
wmsys.wm_concat实例
原文传送门:http://blog.sina.com.cn/s/blog_4d12b0680100dvs8.htmlwmsys.wm_concat可以实现简单的行列转换,相同的结果以,连接。oralce 10g以后哦。 今天才发现了wmsys.wm_concat这个有趣有用的函数,它的作用是以,链接字符。例子如下:SQL> create table idtable转载 2009-11-16 17:30:00 · 1116 阅读 · 0 评论 -
oracle中connect by prior实现递归查询
收集的几条在oracle中通过connect by prior来实现递归查询 Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。 创建示例表: CREATE TABLE TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER转载 2009-11-16 17:52:00 · 775 阅读 · 0 评论 -
wmsys.wm_concat、sys_connect_by_path、自定义函数实现行列转换
构建测试表:create table TABLE1 ( ID INTEGER, NAME VARCHAR2(10) ) create table TABLE2 ( ID INTEGER, ROLE VARCHAR2(10) ) insert into转载 2009-11-16 23:32:00 · 1265 阅读 · 0 评论 -
oracle 10g 配置 snmp 监控
原文传送门:http://www.itpub.net/viewthread.php?tid=1099090向jidongzheng 致敬oracle 10g 配置 snmp 监控oracle 10g 的snmp监控配置,同oracle 9i及以前的配置差别很大。主要是由于enterprise management gric control server的引用。使得oracle 对它转载 2009-11-18 16:59:00 · 4192 阅读 · 5 评论