當前位置:妙知谷 >

遊戲數碼 >電腦 >

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

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

簡介:
數據庫處理的時候,我們經過會用到數據庫觸發器。觸發器在調試的時候,由於程序邏輯、數據類型、數據庫環境等,出現各種數據庫觸發器報錯的情況。
今天給大家介紹一個像我這樣初學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報錯資料,按照資料提示進行操作。

標籤: 報錯 oracle ORA 無效
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/j5j4ge.html