oracle
文章平均质量分 62
oy538730875
这个作者很懒,什么都没留下…
展开
-
oracle简单按分隔符单行转多行sql
今天看到篇博客,http://www.cnblogs.com/hankuikui/p/3523013.html,说的是按分隔符把一列转成多行,原文给出的方法是: with tmp_t as (select '1001' as userId, '10,12,15' as workgroups from dual union select...2014-04-29 09:47:30 · 641 阅读 · 0 评论 -
Oracle函数numtodsinterval和numtoyminterval简记
今天看到了numtodsinterval这个函数,以前没见过,搜索了解了下,内容如下: (一)numtodsinterval函数: numtodsinterval(<x>,<c>) ,x是一个数字,c是一个字符串(CHAR,VARCHAR2,NCHAR,NVARCHAR2),表明x的单位,常用的单位有 ('day','hour',...2014-03-12 16:10:36 · 1473 阅读 · 1 评论 -
借花献佛之使用Oracle sql求质数(笔记)
首先声明一点,文章内容从itpub论坛上看到的,原文链接http://www.itpub.net/thread-1849398-1-1.html,本文主要是记录下笔记,原文中有更详细的分析。使用sql求质素没什么实用价值,重要的是思路。 (一)最简单的方法 思路:将2和所有大于等于3小于XX的奇数取出来,做一中间结果集t。然后逐一校验...2014-03-10 08:38:58 · 208 阅读 · 0 评论 -
借花献佛之Oracle得到连续的日期
先说明下,最近在补下Oracle,去http://www.itpub.net/逛了下,做了点笔记,现在我把我做的笔记分享下,内容很基础,希望对大家有用,本文不算原创,目的只是分享知识。分享快乐,谢谢。 下面的SQL在Oracle 10.2.0.1上面测试通过。 (一)已知2个日期,希望显示这2个日期的每一天(包含起始日期) SELECT ...2014-02-28 16:27:29 · 153 阅读 · 0 评论 -
pl/sql和eclipse怎样高亮显示匹配的括号
最近想学习下oracle,如果有复杂的括号时候总是想pl/sql怎样高亮显示括号,就和eclipse一样,加上工作以来,视力好像又下降了,闲话少说,怎么在pl/sql里面显示括号呢? 参考了博文: http://heiheben.iteye.com/blog/322762 步骤: Tools-->Perferences--&g...2014-02-26 14:59:45 · 1865 阅读 · 0 评论 -
Mysql,Oracle得到表的总行数及大小
今天看了一哥们的博文,http://openlok.iteye.com/blog/2021580,突然想到以前每次测试的时候总是想知道那些表数据最多,今天从网上收集了下怎么得到表的行数及大小,本文SQL从网上收集的,本人测试通过。 首先是Mysql得到表行数,参考了链接: http://stackoverflow.com/questions/433903/how-ma...2014-02-25 15:05:33 · 964 阅读 · 0 评论 -
Mysql,Oracle使用rollup函数完成行列统计
昨天突然在一篇博客中看到了Mysql也有rollup函数,原博文使用了rollup进行行列统计,原博文链接如下: http://www.cnblogs.com/lhj588/archive/2012/06/15/2550392.html 本博文主要是记录下mysql和oracle使用rollup函数进行行列统计,内容比较简单。 首先是mysql,建表测试:...2014-02-25 08:54:01 · 349 阅读 · 1 评论 -
pl/sql如何导入txt文本文件
今天把数据从Mysql里面导出为txt文件,然后使用pl/sql把数据导入Oracle,怎么导入文本文件的一下子忘了,好像是在Tools里面,好久才找到正确的菜单,发现以前会的东西很久不用又忘了,写篇博文记录下: pl/sql怎么导入文本文件呢? Tools-->Text Importer...-->Data From TextFile-->Da...2014-02-24 12:40:35 · 2852 阅读 · 0 评论 -
pl/sql如何导出表的create语句或者insert语句
这篇文章主要介绍如何使用pl/sql导出表的建表语句或者表数据。 首先我使用: Tools-->Export Tables... 选择全部表,直接导出,没想到马上报错了: 大意是blob,clob字段不能导出为sql文件,而是想把用户那些表有clob,blob字段找出来,参考了文章: http://www.thatjeffsmi...2014-02-22 11:27:28 · 1482 阅读 · 0 评论 -
使用dbms_detadata.get_ddl导出表结构
今天在测试怎样导出用户的视图时候,使用了dbms_metadata.get_ddl,特此记录,首先带上参考的链接: http://blog.itpub.net/498744/viewspace-277830/http://blog.sina.com.cn/s/blog_4f86237e010081td.htmlhttp://www.astral-consultan...2014-02-22 10:40:29 · 403 阅读 · 0 评论 -
Oracle如何导出存储过程
昨天使用exp可以导出oracle数据库表,今天说下怎么导出存储过程。 首先看下使用pl/sql怎么导出存储过程。 导出步骤: tools-->Export User Objects...-->选择存储过程(Procedure,Function,Trigger,Type,Type Body,Package)等-->在Output...2014-02-21 12:42:39 · 8088 阅读 · 0 评论 -
Oralce exp命令简单使用
简单的介绍下exp怎么使用,文章略简单,数据库版本是10g,导出错误解决方法在文章最后,首先带上参考链接: http://www.cnblogs.com/zhangzhifeng/archive/2011/08/04/2126935.htmlhttp://blog.csdn.net/oscar999/article/details/7468153http://d...2014-02-20 11:26:41 · 792 阅读 · 0 评论 -
pl/sql批量导出创建索引的脚本
pl/sql怎么导出创建索引的脚本呢?可以使用dbms_metadata.get_ddl('INDEX', 'index_name'),批量就是把当前用户所有的index使用上面的方法导出来。 参考了链接: http://www.itpub.net/forum.php?mod=viewthread&tid=1847331&extra=p...2014-03-12 17:33:24 · 3073 阅读 · 0 评论 -
Oracle怎么查看表被数据库中那些object使用
今天看到一个很有趣的问题,怎么查看一个table被数据库中那些object使用?原问题的链接如下: http://www.itpub.net/forum.php?mod=viewthread&tid=1849997&extra=page%3D1%26filter%3Dtypeid%26typeid%3D37%26typeid%3D37 出...2014-03-13 08:28:27 · 1002 阅读 · 0 评论 -
oracle 11g listagg函数使用简记
以前每次连接查询出符合条件的某列数据,如: 如果要使用这些数据,总是使用notepad++手动添加,。使之符合in的语法,因为这些数据可能是某个复杂的sql查询出来的,没有直接使用 in来查询 。 今天偶然发现可以使用oracle 11g的listagg 函数(节省手动添加,的时间)。 select listagg(v_i...2014-04-28 18:11:37 · 977 阅读 · 0 评论 -
Oracle分组排序后取前百分之N(每个分组)
select empno, ename, deptno, sale from (select empno, ename, sale, deptno, row_number() over(partition by deptno order by ...2014-04-24 19:36:58 · 1821 阅读 · 1 评论 -
plsql多表关联导出数据问题记录
最近使用plsql多表关联查询满足条件的数据,最终导出符合条件的单表数据,如下所示: select e.* from emp e,dept p where 1 = 1 and e.deptno = p.deptno and p.dname in('SALES','Manager') 查询员工表满足部门为SALES和Mana...2014-04-21 17:52:13 · 770 阅读 · 0 评论 -
ORA-01722无效数字错误解决记录
今天使用Oracle查询时候遇到了ORA01722错误:无效数字。 一看错误就是数据类型不匹配造成的,我的查询字段key_1虽然是varchar2类型的,但里面放的是number数字,查看aa表type_1字段里面值是没有非数字(数字类型)。我的查询语句如下: select nvl((select value_1 ...2014-04-21 16:59:01 · 4501 阅读 · 0 评论 -
oracle分组取前3条记录
select bb.name, bb.id from (select aa.*, row_number() over(partition by aa.group_id order by aa.name) rn from (select bo.group_id, bc.name, bo.id ...2014-04-18 13:40:07 · 1101 阅读 · 0 评论 -
ORA-12518监听程序无法分发客户机连接错误解决记录
今天使用plsql从工作环境切换到本地oracle数据库时候报错,ORA-12518 TNS:监听程序无法分发客户机连接。 开始以为是连接数太少,而是停止数据库再启动看错误是否还能重现,停止数据库时候才发现,数据库居然没启动。 启动数据库后在切换正常。如下图,下面的启动很慢是因为电脑2g内存不够用。 ...2014-04-16 16:26:02 · 1184 阅读 · 0 评论 -
plsql设置My Objects中Folders顺序
最近使用plsql时候要查看表的名称,plsql默认的My Objects不是很方便。 就想把常用的几个目录如Tables,Procedures移到前面去方便使用。参考了博文: http://swordshadow.iteye.com/blog/1925930 设置方法: To...2014-04-15 08:05:53 · 402 阅读 · 0 评论 -
plsql切换用户之后使用新建的SQL Window不要使用原来的
注意plsql切换用户之后使用新建的SQL Window,不要使用原来的。 今天就遇到了,同一数据库用户名不同其他表全部相同,切换用户之后使用同一SQL Window查询的数据居然不是当前用户的数据,好久才发现不对劲,为了避免以后再犯这种错误,每次切换用户之后使用新建的SQL Window。 ...2014-04-14 19:00:47 · 1440 阅读 · 0 评论 -
oracle sqlplus能正常访问plsql一直loggging on问题解决记录
最近换了个64位的系统,重装了Oracle数据库,结果使用plsql访问时候出问题了,一直登录不上,使用 sqlplus能正常登录。 版本信息: Oracle 11g Express Edition,Win 7 64位,plsql 9.0。 如下所示: 修改listener.ora和tnsnames.ora的host...2014-04-06 09:06:00 · 745 阅读 · 0 评论 -
Oracle数据库ORA28056错误解决记录
今天打开plsql,没想到直接报错了,ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接。Oracle的配置文件没问题,因为昨天我还能正常使用。试着在Oracle命令行登录,结果如下: 使用sysdba登录结果如下: ORA-28056: Writing audit records to Windows E...2014-03-23 08:40:40 · 410 阅读 · 0 评论 -
Oracle Sql字符串多余空格处理方法小记
(一)问题提出: 不知道大家有没有遇到过这样的情况,同样的sql在pl/sql下面执行正常,但是拷贝到表字段中,点击提交的时候老是会报ORA-01480: STR 绑定值的结尾 Null错误,如图: 这时候去掉几行在提交又可以,加上一行就报错。 (二)问题分析 上面的错误很有可能是字符串太长了,可能你会说...2014-03-15 14:51:33 · 1410 阅读 · 0 评论 -
[简单]oracle替换sql中的&
当插入数据含有&时候,结果如下: 替换&sql如下,sql如'...&....'这种形式,如'test?rand=1234567&id=123&name=测试' select replace(q'[&1]', '&', '''||chr(38)||''') from dual...2014-07-08 17:45:16 · 1140 阅读 · 0 评论 -
[简单]oracle查询不含括号不含指定字符的记录
with tmp_t as( select 1 as id,'测试4321_CS' as name from dual union all select 2,'测试 1200(测试版)' from dual union all select 3,'测试123(测试版)' from dual union all select 4,'测试 1212(D2)' from dual ...2014-07-03 12:07:19 · 439 阅读 · 0 评论 -
oracle简单存储过程测试
最近在复习下oracle的存储过程,写了个简单的例子。 create or replace procedure raise_comm(v_no emp.empno%type, v_sale out emp.sale%type) asbegin select sale into...原创 2014-01-21 14:05:53 · 744 阅读 · 0 评论 -
我的PL/SQL常用设置
一直使用pl/sql,有时候总想偷点懒,其实pl/sql可以设置下使用起来更方便,下面写下我一直用的一些设置,我的pl/sql版本是7.1.5,我写的是一些简单的设置,高手请绕过。 (一)记住密码: 开发时候有几个数据库,每次手动敲密码真烦,以下是设置方式: 设置:Tools菜单-->Preferences-->Oracle-->...2014-01-20 20:17:57 · 187 阅读 · 0 评论 -
plsql的命令行窗口显示DBMS_OUTPUT的打印结果
最近想了解下Oracle的Case When怎样用,弄了个简单的例子测试,如下: DECLARE v_num NUMBER := &sv_num; v_flag NUMBER; BEGIN CASE WHEN MOD(v_num, 2) = 0 THEN DBMS_OUTPUT.PUT_...2014-01-20 16:33:55 · 8850 阅读 · 0 评论 -
oracle regexp_replace过滤字符串中重复内容
有时候使用listagg(id,',') within group(order by id )得到的数据里面有很多重复的数据,注意listagg中已经排过序,这是前提,如下所示: 可以使用regexp_replace替换掉重复的内容(数字),方便使用: 如下所示: select substr(regexp_replac...2014-06-04 13:38:31 · 4436 阅读 · 0 评论 -
Oracle 使用sign函数分组小记
在http://www.itpub.net/thread-1834035-1-1.html看到一个使用sign分组的用法,个人觉得不错,记录下: 问题: 想知道满足下面条件的 sale > 2000 and age > 22, sale > 2000 and age < 22, sal...2014-05-26 18:11:59 · 152 阅读 · 0 评论 -
plsql大小写转换功能配置
上午因为习惯sql小写自己写了一条sql转换: select lower(q'[&1]') from dual 下午博友foolishdault指出plsql支持大小写转换功能,非常感谢支持我的不足之处,谢谢。 plsql里面怎么配置大小写转换功能呢?参考了博文: http://www.itpub.net...2014-05-15 17:52:48 · 15324 阅读 · 0 评论 -
oracle应用之sql小写
本人不喜欢在sql里面大小写混合在一起,每次看到别人的sql,总是要转换为小写,如以下sql: WITH t AS( select date'2014-05-06' time1, 1 type, 100 times from dual union allselect date'2014-05-06', 2, 200 from dual unio...2014-05-15 09:24:50 · 131 阅读 · 0 评论 -
oracle to_char函数中fmt用法简记
今天看到一个这样的sql : select ccode, times, pt, to_char(last_value(decode(pt, 0, null, pt) ignore nulls) over(partition by ccode order by times), ...2014-05-12 16:58:43 · 873 阅读 · 0 评论 -
[简单]oracle group by问题解决记录
同事写了个SQL,发现group by之后总数不对,不用group by查询有26条数据,使用group by查询总数只有16条数据,同事写的sql类似如下: select t.sec_id,t.type_t,t.prod_id,t.amt_num from tmp_t t group by t.sec_id,t.type_t,t.prod_id,...原创 2014-05-10 08:39:25 · 1269 阅读 · 0 评论 -
[简单]oracle 按部门分组取每部门薪水最大的2条记录
最近看到的一篇帖子,http://www.itpub.net/forum.php?mod=viewthread&tid=1865269,按部门分组取薪水最大的2条记录,原帖给出的答案: select * from emp t where (select count(1) + 1 from emp wh...2014-05-09 14:10:45 · 522 阅读 · 0 评论 -
[简单]oracle char类型设置默认值
最近工作中同事把时间字段设置为char(10),格式为yyyy-mm-dd,就想这怎么设置char默认值为2099-12-31,一开始这样写的: -- Create tablecreate table tsql_test_chardef( t_id number(4) not null, start_date char(10),...2014-05-09 12:29:42 · 1983 阅读 · 0 评论 -
pl/sql的if..elsif备忘
最近在试着重新看下pl/sql,印象中pl/sql的if语句后面是可以跟elseif的。写了个简单的判断数字大小的语句: declare v_id number;begin v_id := &id; if v_id < 10 then dbms_output.put_line('the value is:' || v_id...2014-01-22 14:31:39 · 781 阅读 · 0 评论 -
oralce函数substr和mysql函数substring_index小记
最近偶尔在mysql数据库中看到了substring_index函数,先简单介绍下mysql的substring_index函数。 substring_index(str,delim,count) 返回字符串str中在第 count 个出现的分隔符 delim之前的子串,和java中的str.substring函数类似。如果count是正数时候,substring_ind...原创 2014-01-23 13:05:48 · 6221 阅读 · 3 评论