易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE的ALL_VIEWS数据字典text字段long类型问题

今天同事raise一个小问题,怎么在ALL_VIEWS数据字典text字段查找lrf字符串:
etl@DWTEST> select owner,view_name from all_views where instr(text,'lrf') > 0;
select owner,view_name from all_views where instr(text,'lrf') > 0
                                                  *
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got LONG
因text字段为long类型,此数据类型限制较多,故可以参考下面的PL\SQL代码段解决:
DECLARE
  v_instr_view_ddl NUMBER;
BEGIN
  FOR l_ctr IN (SELECT owner,view_name,
                       sign(dbms_lob.instr(DBMS_METADATA.get_ddl('VIEW',view_name,owner),'lrf')) AS instr_view_ddl
                  from all_views) LOOP
    IF l_ctr.instr_view_ddl = 1 THEN
      dbms_output.put_line(l_ctr.owner || '.' || l_ctr.view_name);
    END IF;
  END LOOP;
END;
有什么问题可留言噢!Good luck to U!


相关文档:

ORACLE的JOB创建

ORACLE的JOB创建,可惜的是不能改名,只能是数字的名字。
DECLARE X NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT
  ( job       => X
   ,what      => 'compile_invalid_object;'
   ,next_date => to_date('20-04-2010 ......

oracle的正则表达式

目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。
Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成
的字符串等问题。
Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_L ......

ORACLE SQL语句优化


1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ......

oracle distinct

oracle distinct
关键字: distinct的一些杂谈
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
table ......

Oracle中的Union、Union All、Intersect、Minus

众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。
  假设我们有一个表Student,包括以下字段与数据:
  drop table student;
  create table student
  (
  id int primary key,
  name nvarchar2(50) not null,
  score number not null
  );
  insert into ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号