怎樣快速解決ORACLE“ORA-01722:無效數字”報錯

來源:酷知科普網 1.69W

簡介:
資料庫處理的時候,我們經過會用到資料庫觸發器。觸發器在除錯的時候,由於程式邏輯、資料型別、資料庫環境等,出現各種資料庫觸發器報錯的情況。
今天給大家介紹一個像我這樣初學ORACLE資料庫觸發器程式設計過程中,遇到的ORACLE資料庫“ORA-01722:無效數字”報錯,以及解決該問題的過程。

怎樣快速解決ORACLE“ORA-01722:無效數字”報錯

操作方法

(01)步驟一:觸發器功能背景描述。我寫的儲存過程的目的是,實現當在資料庫中插入一條記錄的時候,將汽車編號的資料庫程式碼轉換為實際的汽車的名稱。1、汽車表:包括ID,NUMBER(2)和NAME(VARCHAR2(8))欄位,實現將實際的車號和資料庫處理的車號的對應。2、汽車稱重表:包括序號HEATID(VARCHAR2)、時間CHAREGE_TIME(DATE)、實際車號CRANEID(VARCHAR2(8))。3、觸發器:實現實際車號和資料庫系統車號轉換功能。

(02)步驟二、開啟汽車車輛表,輸入按照序號條件進行查詢的SQL語句,如下圖。滑鼠左鍵選中記錄行1左邊的黑色箭頭,使用Ctrl+C進行複製操作,將該條資料複製到貼上板。

怎樣快速解決ORACLE“ORA-01722:無效數字”報錯 第2張

(03)步驟三:滑鼠左鍵選中小HEATID上邊的小鎖子,開啟編輯功能,使用貼上功能進行貼上,剛才選中的資料被貼上到資料表的第二行中,修改HEATID汽車編號為160700000。

怎樣快速解決ORACLE“ORA-01722:無效數字”報錯 第3張

(04)步驟四:滑鼠左鍵選中小勾,然後按F1執行,系統報錯。報錯介面顯示“ORA-01722:無效數字”報錯,點選Yes按鈕,跳轉到觸發器編輯除錯介面。

怎樣快速解決ORACLE“ORA-01722:無效數字”報錯 第4張

(05)步驟五:檢視觸發器介面,紅色字型黃色背景的語句為錯誤所在部位。由於程式報無效數字,重點關注表中欄位資料型別,程式中涉及到從車輛表crane_ID讀取name資料,複製給craneid,重點關注craneid,檢查發現craneid的資料型別為CRANEID(VARCHAR2(8)),我們在資料庫中的數值為“7”,為number型別,資料型別不一致,問題所在找到了。怎麼解決呢?下一步進行操作解決。

怎樣快速解決ORACLE“ORA-01722:無效數字”報錯 第5張
怎樣快速解決ORACLE“ORA-01722:無效數字”報錯 第6張

(06)步驟六:根據汽車表資料對應關係,將ceaneid欄位的7,按照對應關係,修改為26#,點選小鎖子進行編輯,按F8執行,資料成功插入,觸發器沒有報錯,問題解決。

特別提示

注意:“ORA-01722:無效數字”報錯只是一個很小的報錯提示,以上只是我這個初學ORACLE資料庫的人員,遇到的問題,希望能幫到大家。

ORACLE資料庫報錯有多種型別,當觸發器報錯的時候,我們找到ORACLE報錯資料,按照資料提示進行操作。

熱門標籤