tinguo002

           

          ORA-06553 PLS-320

          ORACLE ORA-06553 PLS-320 錯誤

          前幾天遇到了一個存儲過程編譯無法通過的問題。

          數據庫是10GR2 的版本

          存儲過程編譯時報 ORA-06553 PLS-320 錯誤 以下是圖

          檢查過程語句無錯后還是無法編譯通過

          存儲過程非常簡單,接收一個值,然后根據傳進來的值對一個表進行刪除操作。

          檢查操作的表,是存在數據庫中的,并且表的狀態也是有效的。

          網上找了下這錯誤,并發現了一些類似情況的帖子,很多帖子的共同點都是表結構中存在ORACLE 關鍵字。

          于是檢查表結構的字段名,發現有一個字段名為NUMBER (這很明顯是ORACLE 的關鍵字)

          把這個NUMBER字段名改名,在重新編譯過程順利通過。

          于是分析了下原因

          有可能這是ORACLE PLSQL的一個BUG ,它在編譯的時候需要檢查過程中的對象的信息,由于對象中的字段是ORACLE 關鍵字

          所以PLSQL無法區分是NUMBER 數據類型還是字段NUMBER,SQL語句通過給字段兩邊加“” 雙引號可以讓ORACLE 知道是字段不是關鍵字

          由于沒有11G的環境無法測試11G是否解決了這問題

          --------------------------------------
          oracle 里修改字段名稱

          alter table "CHECKEXACT" rename column "DATE" to date1;   //這個DATE 要大寫且加""  ,要不然會出錯的。。。
          alter table "CHECKEXACT" rename column "DATE1" to "DATE";



          歡迎大家訪問我的個人網站 萌萌的IT人

          posted on 2012-11-30 12:07 一堣而安 閱讀(599) 評論(0)  編輯  收藏 所屬分類: oracle

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 栾城县| 南阳市| 南靖县| 即墨市| 新龙县| 望城县| 固始县| 手游| 基隆市| 石阡县| 株洲市| 和平区| 湄潭县| 瓦房店市| 阿瓦提县| 夏津县| 镇坪县| 洪湖市| 苍梧县| 满城县| 淮安市| 黄石市| 楚雄市| 绥德县| 长治市| 昌黎县| 岳西县| 五河县| 锡林郭勒盟| 靖远县| 进贤县| 尚义县| 专栏| 南部县| 留坝县| 宁阳县| 横峰县| 民和| 汝阳县| 山西省| 兴安县|