Oracle數(shù)據(jù)庫(kù)ORA 54013錯(cuò)誤的解決辦法
ORA-54013: 不允許對(duì)虛擬列執(zhí)行 INSERT 操作
這是Oracle 11 的新特性 —— 虛擬列。
在以前的Oracle 版本,當(dāng)我們需要使用表達(dá)式或者一些計(jì)算公式時(shí),我們會(huì)創(chuàng)建數(shù)據(jù)庫(kù)視圖,如果我們需要在這個(gè)視圖上使用索引,我們會(huì)創(chuàng)建基于函數(shù)的索引。現(xiàn)在Oracle 11允許我們直接在表上使用虛擬列來(lái)存儲(chǔ)表達(dá)式。虛擬列的值是不存儲(chǔ)在磁盤的,它們是在查詢時(shí)根據(jù)定義的表達(dá)式臨時(shí)計(jì)算的。我們不能往虛擬列中插入數(shù)據(jù),我們也不能隱式的添加數(shù)據(jù)到虛擬列,我們只能使用物理列來(lái)插入數(shù)據(jù)。然后可以查詢虛擬列的值,表達(dá)式是在查詢的時(shí)候即時(shí)計(jì)算的。索引和約束同樣可以應(yīng)用在虛擬列上,我們也可以為虛擬列創(chuàng)建外鍵。
下面使用的數(shù)據(jù)表名是:APEX_CW_月結(jié)賬單明細(xì)詳情表
使用oracle中的命令窗口,輸入語(yǔ)句查看表結(jié)構(gòu):SQL>desc APEX_CW_月結(jié)賬單明細(xì)詳情表;
執(zhí)行后看到如下表結(jié)構(gòu):
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' 是通過(guò)第二行的字段 ‘FK_MONTHBILLID' 得到的,所以如果對(duì)該表中這個(gè)字段 ‘MONTHBILLTYPE' 進(jìn)行插入(賦值)操作就會(huì)報(bào)出異常。
如果有其他對(duì)表的操作報(bào)出這種異常,原因大致如此。
以上所述是小編給大家介紹的Oracle數(shù)據(jù)庫(kù)ORA 54013錯(cuò)誤的解決辦法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Oralce 歸檔日志開啟與關(guān)閉示例
- 設(shè)置oralce自動(dòng)內(nèi)存管理執(zhí)行步驟
- 提取oralce當(dāng)天的alert log的shell腳本代碼
- Oralce數(shù)據(jù)導(dǎo)入出現(xiàn)(SYSTEM.PROC_AUDIT)問(wèn)題處理方法
- Oracle數(shù)據(jù)庫(kù)opatch補(bǔ)丁操作流程
- mysql數(shù)據(jù)庫(kù)遷移至Oracle數(shù)據(jù)庫(kù)
- VMware Workstation/Fusion 中安裝 Fedora 23/24 及其他 Linux 系統(tǒng)時(shí)使用 Open VM Tools 代替 VMware Tools 增強(qiáng)工具的方法
- oracle 創(chuàng)建字段自增長(zhǎng)實(shí)現(xiàn)方式
- Oracle觸發(fā)器trigger詳解
- oracle 數(shù)據(jù)按主鍵刪除慢問(wèn)題的解決方法
- Linux 自動(dòng)備份oracle數(shù)據(jù)庫(kù)詳解
- ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法
- ReactNative (API)AsyncStorage存儲(chǔ)詳解及實(shí)例
- 查詢Oracle中正在執(zhí)行和執(zhí)行過(guò)的SQL語(yǔ)句
- oralce和db2兼容開發(fā)注意事項(xiàng)
相關(guān)文章
Oracle 輕量級(jí)實(shí)時(shí)監(jiān)控工具 oratop詳解
這篇文章主要介紹了Oracle 輕量級(jí)實(shí)時(shí)監(jiān)控工具 oratop,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
plsql developer修改sql窗口的大小實(shí)現(xiàn)
本文主要介紹了plsql developer修改sql窗口的大小實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Oracle 12c修改字符集的方法(解決數(shù)據(jù)導(dǎo)入后中文亂碼及ORA-12899錯(cuò)誤)
之前在Windows上安裝的Oracle,現(xiàn)在遷移到Linux上,把dmp文件導(dǎo)入Linux的時(shí)候發(fā)現(xiàn)字段的注釋和存儲(chǔ)過(guò)程中的中文是問(wèn)號(hào)?,而且導(dǎo)入的時(shí)候還會(huì)報(bào)ORA-12899錯(cuò)誤,其實(shí)這些都是字符集問(wèn)題,所以本文給大家介紹了Oracle 12c修改字符集的方法,需要的朋友可以參考下2024-04-04
oracle數(shù)據(jù)庫(kù)索引失效的問(wèn)題及解決
本文總結(jié)了在Oracle數(shù)據(jù)庫(kù)中索引失效的一些常見場(chǎng)景,包括使用isnull、isnotnull、!=、<、>、函數(shù)處理、like前置%查詢以及范圍索引和等值索引同時(shí)存在等情況,通過(guò)實(shí)際的SQL查詢驗(yàn)證,展示了索引失效的原因,并給出了相應(yīng)的優(yōu)化建議2025-01-01
Oracle 11G數(shù)據(jù)庫(kù)審計(jì)監(jiān)控設(shè)置指南
Oracle 11G數(shù)據(jù)庫(kù)審計(jì)監(jiān)控涉及創(chuàng)建獨(dú)立表空間、查看審計(jì)信息、遷移表空間、開啟審計(jì)及審計(jì)維護(hù)等步驟,合理規(guī)劃審計(jì)表空間有助于管理審計(jì)數(shù)據(jù),避免影響系統(tǒng)表空間,審計(jì)監(jiān)控涵蓋審計(jì)數(shù)據(jù)遷移、自動(dòng)清理、權(quán)限分配、查詢審計(jì)類型等方面,確保數(shù)據(jù)庫(kù)安全性能2024-10-10
oracle數(shù)據(jù)庫(kù)遷移到MySQL的方法總結(jié)
本文主要總結(jié)了oracle數(shù)據(jù)庫(kù)遷移到MySQL的方法,方法包括手動(dòng)方式導(dǎo)入導(dǎo)出、使用工具Navicat 進(jìn)行導(dǎo)入、使用工具DBMover 的OracleToMySQL 進(jìn)行導(dǎo)入和使用工具intelligent-converters 的 oracle-to-mysql 進(jìn)行導(dǎo)入,需要的朋友可以參考下。2017-03-03
Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù)
這篇文章主要介紹了Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù),需要的朋友可以參考下2016-08-08

