Oracle8i Enterprise Edition Release 8.1.6.0.0我想通过以下模糊查询得到有哪些trigger里包含有关produce_process这个table的动作:
SELECT *
  FROM SYS.trigger$
 WHERE action# LIKE '%produce_process%'
结果报错:ORA-00932: 資料類型不一致action#是long类型,怎样才能使资料类型一致?..我应该怎样得到我需要的信息?..

解决方案 »

  1.   

    这就牵涉到long字段的处理了  你类型不一致肯定报错了
      

  2.   

    select *
    from dba_triggers
    where instr( lower( 某字段 ),'produce_process') > 0 ;
      

  3.   

    select *
    from user_triggers
      

  4.   

    我就想知道怎样才能从所有trigger中找到我需要的相关信息..
      

  5.   

    去写个匿名块吧,单纯的sql不能实现。
      

  6.   

    SELECT *
      FROM dba_source
     where type = 'TRIGGER'
       and owner = 目标用户
       and lower(text) like '%produce_process%'
        严格来说,这样查询的结果只能够说是triiger的内容中含有字符串"produce_process",不能够说一定是含有表produce_process,除非这个字符串"produce_process"在你的库中仅作为某个表名且没有其它对象、字段名称跟此相同或者含有这个字符串,不过作为过滤检查这样应该是能够满足需求了.
      

  7.   

    为什么我的sys.source$这个table中没有关于trigger的代码?..