Oracle資料庫ORA 54013錯誤的解決辦法_oracle

來源:互聯網
上載者:User

ORA-54013: 不允許對虛擬列執行 INSERT 操作

這是Oracle 11 的新特性 —— 虛擬列。

在以前的Oracle 版本,當我們需要使用運算式或者一些計算公式時,我們會建立資料庫檢視,如果我們需要在這個視圖上使用索引,我們會建立基於函數的索引。現在Oracle 11允許我們直接在表上使用虛擬列來儲存運算式。虛擬列的值是不儲存在磁碟的,它們是在查詢時根據定義的運算式臨時計算的。我們不能往虛擬列中插入資料,我們也不能隱式的添加資料到虛擬列,我們只能使用物理列來插入資料。然後可以查詢虛擬列的值,運算式是在查詢的時候即時計算的。索引和約束同樣可以應用在虛擬列上,我們也可以為虛擬列建立外鍵。

下面使用的資料表名是:APEX_CW_月結賬單明細詳情表

使用oracle中的命令視窗,輸入語句查看錶結構:SQL>desc APEX_CW_月結賬單明細詳情表;

執行後看到如下表結構:

Name Type Nullable Default Comments -------------------- ------------ -------- ---------------------------- -------- PK_MONTHBILLDETAILID VARCHAR2(35) FK_MONTHBILLID VARCHAR2(18) Y BARCODE VARCHAR2(15) Y CUSTCODE VARCHAR2(8) Y CUSTNAME VARCHAR2(50) Y EXCHARGE NUMBER(18,2) Y CITYCODE VARCHAR2(3) Y EXPORTDAY DATE Y ORICHARGE NUMBER(18,2) Y INCOMEDCHARGE NUMBER(18,2) Y ISHANDLED VARCHAR2(1) Y PAYERID VARCHAR2(8) Y PAYERNAME VARCHAR2(50) Y MANAGECITY VARCHAR2(10) Y CITYNAME VARCHAR2(50) Y DESTINCITY VARCHAR2(3) Y DESTINCITYNAME VARCHAR2(50) Y ITEM VARCHAR2(6) Y SERVERTYPE VARCHAR2(1) Y DESTINCOUN CHAR(2) Y ORICURRENCY VARCHAR2(3) Y TAXAMOUNT FLOAT(63) Y CHARGEWEIGHT NUMBER(10,3) Y EXPORTCITY VARCHAR2(3) Y STRFD1 VARCHAR2(20) Y CREATETIME DATE Y MONTHBILLTYPE VARCHAR2(2) Y SUBSTR("FK_MONTHBILLID",1,1) 

從上面看到最後一行的欄位 ‘MONTHBILLTYPE' 是通過第二行的欄位 ‘FK_MONTHBILLID' 得到的,所以如果對該表中這個欄位 ‘MONTHBILLTYPE' 進行插入(賦值)操作就會報出異常。

如果有其他對錶的操作報出這種異常,原因大致如此。

以上所述是小編給大家介紹的Oracle資料庫ORA 54013錯誤的解決辦法,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.