随笔分类 -  ORACLE

摘要:ORA-00918:未明确定义列解决 问题:ORA-00918:未明确定义列 eg. select name, name from a left join b on a.flag = b.flag 原因:列名重复了(select后面跟了两个 name) 解决办法: 每个列名,都加上其所在表的表名作为 阅读全文
posted @ 2017-03-28 15:25 左正 阅读(48669) 评论(0) 推荐(1) 编辑
摘要:1.今天写的存储过程在执行过程中,报如下错误。 exec PRO_T_008pro_update_add_delete(17,1,1,1,1,45.0,54.0,45.0,45.0,45.0,54.0,45.0,54.0,'生产厂家','CYB10-2',54.0,45.0,25.0,1.0,45. 阅读全文
posted @ 2017-03-22 11:41 左正 阅读(121771) 评论(0) 推荐(0) 编辑
摘要:今天运行壹個小程序,功能是读取指定目录下的 SQL 脚本,并加载到内存中批量执行,之前的程序运行良好。但是今天相关开发人员更新了其中壹個 SQL 脚本,于是程序运行的时候就出错了,错误提示信息如下:批处理中出现错误: ORA-01756: 引号内的字符串没有正确结束。用 Notepad++ 打开看了 阅读全文
posted @ 2017-03-08 15:01 左正 阅读(1311) 评论(0) 推荐(0) 编辑
摘要:author:skate time:2007-09-12 http://publish.it168.com/2006/0311/20060311017002.shtml 今天总结下Oracle的任务队列管理器(job queue ),以后也方便查询. 我们要做定时任务时,有两种办法 一种是: 操作系 阅读全文
posted @ 2017-02-22 13:58 左正 阅读(559) 评论(0) 推荐(0) 编辑
摘要:oracle文字与格式字符串不匹配的解决 Oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法。 如insert into CUSLOGS(STARTTIME) values(to_date('2009-5-21 18:55:49','yyyy/m 阅读全文
posted @ 2017-02-07 14:55 左正 阅读(8460) 评论(0) 推荐(0) 编辑
摘要:秒啊......? 阅读全文
posted @ 2016-12-21 12:15 左正 阅读(159) 评论(0) 推荐(0) 编辑
摘要:-- 大概 这个样子,如果没有 FK 的话,一下子就都删掉了。 begin for x in (select table_name from user_tables) loop execute immediate 'delete ' || x.table_name ; end loop ; end  阅读全文
posted @ 2016-12-20 18:48 左正 阅读(6820) 评论(0) 推荐(0) 编辑
摘要:错误的原因该错误是在编写trigger时常遇到的问题,其根本原因是由于对本表的操作造成的。对于使用了for each row 的触发器,做了DML操作(delete,update,insert),还没有提交时,是不允许其他PL/SQL对本表的DML操作,以及查询,因为此时数据不一致。 解决办法: 1 阅读全文
posted @ 2016-12-13 18:33 左正 阅读(4684) 评论(0) 推荐(0) 编辑
摘要:今天在论坛里发现了一个关于ORA-04091的老帖子,收获良多,特此整理一下 关于ORA-04091: table is mutating, trigger/function may not see it的分析 当DML操作触发trigger的时候,如果trigger的程序块中需要对当前表进行修改或 阅读全文
posted @ 2016-12-13 18:33 左正 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:AUTONOMOUS TRANSACTION(自治事务)的介绍 在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题,比如想在执行当前一个由多个DML组成的transaction(事务)时,为每一步DML记录一些信息到跟踪表中,由于事务的原子性,这些跟踪信息的提交将决定于主事务的c 阅读全文
posted @ 2016-12-13 18:32 左正 阅读(1958) 评论(0) 推荐(0) 编辑
摘要:这个问题一般怎么解决?现在忙 待会贴详细代码 先给些路子。。给位大大们 在自治事务中加上commit 阅读全文
posted @ 2016-12-13 18:31 左正 阅读(2717) 评论(0) 推荐(0) 编辑
摘要:Sql语句最好依次执行创建 /************************************** * name: split * author: sean zhang. * date: 2012-09-03. * function: 返回字符串被指定字符分割后的表类型。 * paramet 阅读全文
posted @ 2016-12-08 15:46 左正 阅读(17405) 评论(0) 推荐(1) 编辑
摘要:ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去 阅读全文
posted @ 2016-11-29 14:24 左正 阅读(504) 评论(0) 推荐(0) 编辑
摘要:ORACLE查出表所有的触发器及触发器详细信息 一.查all_triggers表得到trigger_name Sql代码 select trigger_name from all_triggers where table_name='XXX'; 二.根据trigger_name查询出触发器详细信息 阅读全文
posted @ 2016-11-03 13:38 左正 阅读(42195) 评论(0) 推荐(3) 编辑
摘要:一点一点学习jobs的各个方面比较长,比较烦,但是应该看完后会对jobs比较好的应用 一、学习准备 开始dbms_job学习前,先认识一个参数job_queue_processesa、job_queue_processes参数决定了job作业能够使用的总进程数。b、当该参数为0值,任何job都不会被 阅读全文
posted @ 2016-11-02 11:36 左正 阅读(696) 评论(0) 推荐(0) 编辑
摘要:推荐用dbms_scheduler方式更好 (2012-11-19注) [sql] view plain copy /* 查询: select job,broken,what,interval,t.* from user_jobs t; job job的唯一标识,自动生成的 broken 是否处于运 阅读全文
posted @ 2016-09-27 14:46 左正 阅读(11792) 评论(0) 推荐(0) 编辑
摘要:1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbname order by id desc ) where rownum<=10; 下面是关于rownum的介绍 阅读全文
posted @ 2016-08-11 17:33 左正 阅读(73877) 评论(0) 推荐(2) 编辑
摘要:为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化。Oracle 9i 通过引入的管道化表函数纠正了后一种情况。表函数是返回整个行的集(通常作为 阅读全文
posted @ 2016-08-03 10:07 左正 阅读(12094) 评论(0) 推荐(0) 编辑
摘要:oracle文字与格式字符串不匹配的解决 oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法。 如insert into CUSLOGS(STARTTIME) values(to_date('2009-5-21 18:55:49','yyyy/m 阅读全文
posted @ 2016-07-28 13:54 左正 阅读(36499) 评论(0) 推荐(1) 编辑
摘要:存储过程中使用了类似如下语句: SELECT col INTO v_col FROM t_table 当查询不到记录时,会出现“数据未发现”的异常 解决方法: (1)使用MAX函数 SELECT MAX(col) INTO v_col FROM t_table (2) 使用异常处理 BEGIN SE 阅读全文
posted @ 2016-07-25 16:11 左正 阅读(820) 评论(0) 推荐(0) 编辑