ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 對象 大小寫

Oracle 對象 大小寫

原创 Linux操作系统 作者:ginni_hua 时间:2009-03-04 15:11:45 0 删除 编辑

今天在系統中發現兩個procedure名稱一樣,只有大小寫區分,

這麼奇怪的現象:兩個竟然能同時存在?SMS_P_IRIS_PO_TRANS_AutoRun /SMS_P_IRIS_PO_TRANS_AUTORUN
Oracle中對象沒有大小寫之分,猜想是加引號才建立的,現在要刪除有小寫字母的對象.
呵呵,沒想到這倆雙胞胎是同生共死哈:我刪除一個另一個就自動刪除,創建一個另一個就自動創建!
這樣看著多不順眼,其實是一個過程,老顯示兩個,想其它辦法刪除一個.
select * from all_objects
--delete from all_objects
where wner='MMSIRIS'
AND object_type='PROCEDURE'
AND object_name='SMS_P_IRIS_PO_TRANS_AutoRun'
當刪除時有以下錯誤:
/home/oracle> oerr ora 01752
01752, 00000, "cannot delete from view without exactly one key-preserved table"
// *Cause: The deleted table either had no key perserved tables,
//          had more than one key-preserved table, or the key-preserved
//          table was an unmerged view or a table from a read-only view.
// *Action: Redefine the view or delete it from the underlying base tables.
呵,原來是視圖,找基本表再刪.
select * from sys.obj$
--delete from sys.obj$
where name='SMS_P_IRIS_PO_TRANS_AutoRun'
搞定,我就不相信拿它沒辦法.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7836221/viewspace-561363/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-20

  • 博文量
    172
  • 访问量
    360443