![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
iteye_14109
这个作者很懒,什么都没留下…
展开
-
oracle Greatest与decode及sign的使用
GREATEST(0,(summary.sub_cash_max_withdraw + pkg_equ_margin_value.sf_max_withdraw(summary.comp_grp_id, summary.account_id, summary.sub_account_id, summary.trading_account_id)-ABS(DECODE(SIGN(summary...原创 2014-09-03 17:13:00 · 150 阅读 · 0 评论 -
Oracle高级查询之OVER (PARTITION BY ..) .
一、rank()/dense_rank() over(partition by ...order by ...)现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:select e.ename, e.job, e.sal, e.deptno from scott.emp e, (select e.d...原创 2013-04-02 11:17:47 · 49 阅读 · 0 评论 -
ORACLE恢复删除表或表记录
一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:1、从flash back里查询被删除的表 select * from recyclebin2.执行表的恢复 flashback table tb to before drop,这里的tb代表你要恢复的表的名称。二:表数据恢复...原创 2014-06-24 17:20:47 · 114 阅读 · 0 评论 -
shell脚本与sql文件传参,不使用存储过程
C:\tmp>type test.sqlset verify offselect '&1' from dual;exitC:\tmp>sqlplus username/password@server @test.sql "any string"SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 8月 6 13:37:12 2007Co...原创 2014-06-16 19:06:29 · 145 阅读 · 0 评论 -
Oracle中spool 不显示替代变量与被替代前后的语句
set echo on --是否显示执行的命令内容set feedback off --是否显示 * rows selectedset heading off --是否显示字段的名称set verify off --是否显示替代变量被替代前后的语句。filset trimspool off --去字...原创 2014-06-16 19:02:49 · 288 阅读 · 0 评论 -
create database link远程数据库相互调用查询
1)DROP DATABASE LINK "otcuat" ; 2) create database link "otcuat" connect to adsr identified by "adsr" using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) ...原创 2014-06-16 15:35:50 · 178 阅读 · 0 评论 -
ORACLE 中ROWNUM用法总结
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>, >=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum...原创 2014-05-13 13:40:55 · 97 阅读 · 0 评论 -
oracle查看被锁的表与解锁
oracle查看被锁的表和解锁查看被锁的表 select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where ...原创 2014-03-27 09:10:30 · 67 阅读 · 0 评论 -
oracle 取当月的第一天和最后一天
oracle 中某月的第一天,最后一天,前一个月的第一天,最后一天,类似方法在Oracle 数据库中取某个月份的第一天和最后一天的方法取当前日期前一个月的第一天的日期SELECT last_day(add_months(SYSDATE, -2)) + 1 FROM dual;取当前日期前一个月的最后一天的日期SELECT last_day(add_months(SYSDATE,...原创 2014-02-27 11:36:18 · 612 阅读 · 0 评论 -
关于Oracle取整的函数
关于Oracle取整的函数分别有以下几种:1.取整(大) select ceil(-1.001) value from dual 向大的进位CEIL(-0.12)----------- 02.取整(小) select floor(-1.001) value from dual 向小的进位 FLOOR(-0.12)------------ -1 3.取...原创 2013-04-02 11:19:09 · 103 阅读 · 0 评论 -
rank,dense_rank,row_number使用和区别
rank,dense_rank,row_number区别一:语法(用法): rank() over([partition by col1] order by col2) dense_rank() over([partition by col1] order by col2) row_number() over([partition by col1] order b...原创 2013-04-02 11:20:20 · 101 阅读 · 0 评论 -
PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接ORA-12505的问题
PL/SQL 或SQL DEVELOPER 和 SQLPLUS 采用 service_name 进行连接而应用程序是按照 sid_name 进行连接,所以出现 PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。使用 SELECT INSTANCE_NAME FROM V$INSTANCE 语句,就可以查看当前数据库实例的sid_name了。 然...原创 2014-09-03 11:20:09 · 619 阅读 · 0 评论 -
Oracle中REGEXP_SUBSTR函数
Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合。 REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occur...原创 2014-08-27 13:53:33 · 96 阅读 · 0 评论 -
oracle listagg把一列数据变为一个字段用指定符号分隔
SQL> select listagg(page_id,',') within group (order by null) 2 from site_html_relation 3 / LISTAGG(PAGE_ID,',')WITHINGROU------------------------------------------------------------...原创 2014-08-27 10:55:28 · 726 阅读 · 0 评论 -
oralce 将一个字符串里的数据按逗号分隔去重再拼接成一个新的字符串
sql结果集某列值显示如下:'00010430, 00228290, 07046884,07046884, 07383953' 希望显示的结果'00010430, 00228290,07046884, 07383953' 新建一个function 实现此功能create or replaceFUNCTION "SF_SPLIT_ACCOUNT_ID_LI...原创 2014-08-26 17:43:42 · 1942 阅读 · 0 评论 -
oracle wm_concat(column)函数的使用
oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并,如果您对oracle wm_concat(column)函数使用方面感兴趣的话,不妨一看。shopping:-----------------------------------------u_id goods ...原创 2014-08-26 17:35:56 · 143 阅读 · 0 评论 -
oracle将一列字符串转换为多行显示
将一列字符串显示为转换为多行显示?现在有一个字符串'00010430, 00228290, 07046884, 07383953'sql 查询结果:00010430002282900704688407383953 实现sqlwith a as (select '00010430, 00228290, 07046884, 07383953' id fro...原创 2014-08-26 17:33:53 · 261 阅读 · 0 评论 -
hibernate多表查询HQL 连接条件不能用on
inner join(内连接) left outer join(左外连接) right outer join(右外连接) full join (全连接,并不常用) HQL中的条件用with即:left join ... with...SQL中的条件用on即:left join ...原创 2014-07-08 17:58:05 · 1102 阅读 · 0 评论 -
Sqlplus 输出explain plan 的内容,且可以全选复制
大家都知道,在pl/sql中按F5,在sql developer中按F6可以查看sql执行计划,但是想把这些信息详细显示出来,则需要使用以下命令。set autotrace traceonly explain可以在sqlplus的窗口界面中使用该命令,再跟上对应的sql即可,但是这样想把结果复制出来比较费劲,鼠标在里面无法滚动。只能一点点拖动去选择。set autotrace tra...原创 2013-04-17 16:21:47 · 215 阅读 · 0 评论 -
Oracle spool格式化数据命令
SQL>set colsep' '; //-域输出分隔符 SQL>set newp none //设置查询出来的数据分多少页显示,如果需要连续的数据,中间不要出现空行就把newp设置为none,这样输出的数据行都是连续的,中间没有空行之类的 SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省...原创 2015-11-26 11:39:51 · 402 阅读 · 0 评论 -
Oracle查询被锁的表及被锁的存储过程
查询锁表的Session select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$s...原创 2015-11-25 10:27:02 · 2009 阅读 · 0 评论 -
oracle Date format,日期和月份小于10只显示一位,不补0
格式化日期,日,月只有一位小数的只显示一位,不自动加0,在dd/mm 前面加上fm即可去掉前面的0如:trade_date:7/4/2013 tselect o_char(szt.trade_date,'fmdd/fmmm/yyyy') AS trade_date from sds_equ_broker_trade_sz sztresult:07/04/2013 ts...原创 2013-12-19 13:58:10 · 6003 阅读 · 2 评论 -
存储过程生成系统中所有表的序列号
-- 序列号生成表begin pr_droptable('best_tablesequence'); end;/create table best_tablesequence( name varchar2(32) not null, --表名 value number not null, --序列取值 constraint pk_best...原创 2012-03-05 13:28:33 · 152 阅读 · 0 评论 -
Oracle SQL性能优化技巧大总结
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表...原创 2012-03-02 15:48:45 · 58 阅读 · 0 评论 -
存储过程的单步调试方法
http://www.duote.com/tech/4/11988.html原创 2012-03-01 17:30:29 · 146 阅读 · 0 评论 -
Oracle导入导出数据库
导读:oracle中除了在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式外,还可以采用命令行的方式导入导出数据库,其语法实示例如下: imp [username[/password[@service]]] 步骤:1、首先在进入 dos, 然后切换到 oracle 数据库物理文件所在的目录即(dmp文件所在的目录)。接下来输入下述语句! imp user...原创 2012-03-01 15:26:42 · 88 阅读 · 0 评论 -
[转]Oracle分页查询语句的写法
Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看。Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。Oracle分分页查询格式:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WH...原创 2012-02-23 09:52:13 · 694 阅读 · 0 评论 -
oracle时间加减的语句写法
oracle时间加减运算我们经常会用到,下面就为您介绍oracle时间加减的实现方法,如果您遇到过oracle时间加减的问题,不妨一看。加法select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_months(sysdate,1) from dual; ...原创 2012-02-23 09:40:59 · 173 阅读 · 0 评论 -
创建表及序列时,先判断其是否存在
1、创建表时,先判断表是否存在,如果存在则删除create or replace procedure pr_droptable( v_tablename in varchar2)asv_count int;begin select count(1) into v_count from user_tables where table_name =...原创 2012-01-19 12:28:48 · 222 阅读 · 0 评论 -
Oracle资源正忙,要求指定NOWAIT(转)
Oracle资源正忙,要求指定NOWAIT:Oracle解锁问题执行 truncate table 报错:ORA-00054: 资源正忙,要求指定NOWAIT解决:通过v$session,v$locked_object查看谁锁定了资源select t1.sid, t1.serial#, t1.username, t1.logon_time from v$session...原创 2012-01-11 17:25:14 · 198 阅读 · 0 评论 -
oracle查看表空间使用情况、查看某表是否被锁
做项目的时候经理让我根据现场的数据,评估一下表空间的大小,以前不知道怎么查看表空间的使用情况,今天看到有朋友总结了这两点,自己也记下来查看表是否被锁也会经常用到,有时同事共用一直数据库的时候,可能都在对某个表进行操作,一个人对表锁定之后,我们再进行for update表就是卡起来,所以在执行for update前可以先查看表是否被锁1、查看表空间使用情况SELECT B.FILE_ID, ...原创 2012-04-01 09:59:14 · 299 阅读 · 0 评论 -
oracle函数trunc的使用 .
1、日期比较时精确到日,可以使用 TRUNC(sysdate,'dd')函数。函数支持格式有:yyyy MM dd hh Mi2、trunc(d1[,c1]) 返回日期d1所在期间(参数c1)的第一天日期d1日期型,c1为字符型(参数),c1默认为j(即当前日期)c1对应的参数表:本周星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六)本月初日期:mon...原创 2012-09-11 11:51:00 · 225 阅读 · 0 评论 -
oracle sql将一个varchar型的数据转成多行结果记录
今天在做一个报表的时候,想用一个sql查询最后结果,但在实现的时候遇到一点问题,我查到的一个字段是varchar型的,多个id的组合(如:1,2,3,并且这个结果是一个selete语句实现的),但是我要在另一个表中查询使用这个id,而这个id是int型的。所以,没办法直接使用这个结果,总会报错说无效的number类型。后面同事帮忙查到一个方法可以把这个结果转成对应的行的记录。 例:我查询的...原创 2012-10-25 13:13:19 · 200 阅读 · 0 评论 -
执行sql文件的批处理命令
sqlplus system/oracle@ADSRSIT @test.sqlsystem:用户名oracle:密码ADSRSIT:连接字符test.sql:sql文件 以上命令也可以保存成一个批处理文件,cmd格式的。每次直接双击便可以执行。...原创 2013-10-16 10:11:04 · 127 阅读 · 0 评论 -
oracle中sql生成csv文件
SET HEADING OFFSET TRIMSPOOL ONSET TRIMOUT ONSET FEEDBACK OFFSET PAGESIZE 0SET LINESIZE 2000SET ARRAYSIZE 5000SET TERM OFFSET SQLBLANKLINES ONPROMPT spooling test csvSPOOL tes...原创 2013-09-03 11:45:30 · 198 阅读 · 0 评论 -
Oracle 游标使用
--1.For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标DECLARE --类型定义 CURSOR c_emp IS SELECT empno,ename,job,sal FROM emp WHERE job = 'MANAGER'; ...原创 2012-05-24 17:28:41 · 123 阅读 · 0 评论 -
oracle常用语的几个函数
--instr在一个字符串中搜索指定的字符,返回发现指定的字符的位置;第一个字符的位置为1,不是0select instr('raojing','o') from dual; --result: 3--length返回字符串的长度select length('test') from dual; --result: 4--REPLACE(string,s1,s2)--...原创 2012-05-11 10:04:56 · 65 阅读 · 0 评论 -
win7安装oracle10g出现问题及解决方案
ERROR 1 正在检查操作系统要求… 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 检查完成。此次检查的总体结果为: 失败 <<<< 问 题: Oracle Database 11g 未在当前操作系统中经过认证。 建议案: 确保在正确的平台上安装软件。 ===============================================...原创 2012-05-09 15:05:09 · 204 阅读 · 0 评论 -
IMP-00010: 不是有效的导出文件,标题验证失败
今天导入以前的一个dmp文件,想将数据恢复到以前的,但执行imp时发生如下错误: IMP-00010: 不是有效的导出文件,标题验证失败 IMP-00000: 未成功终止导入 我的imp版本是9205,而之前的dmp文件我不知道版本 在google上查找了一下,大概有两种情况: 1.imp/exp的版本不对,也就是说低版本的导出,可以用高版本的导入,但高版本导出不能用低版本的导入,这个版本不只是指...原创 2012-05-08 11:54:16 · 261 阅读 · 0 评论 -
删除数据库中全部表、视图、序列、函数、存储过程、包的脚本
select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables --delete tablesunionselect 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views --delete viewsunionsel...原创 2012-05-02 09:47:24 · 139 阅读 · 0 评论