?Oracle相關文檔,希望互相學習,共同進步
風123456789~-CSDN博客
1.背景
? ? ? ? 在EXP方式導出時,發現 出現如下提示 EXP-00107: virtual column 不支持,因此采用expdp方式導出。于是本文針對oracle虛擬列進行簡單介紹。
2. 相關資料
? ? ? ?Oracle數據庫中的“虛擬列”通常指的是在表中使用表達式生成的列,這些列不存儲數據,而是在查詢時動態計算其值。Oracle從11g版本開始引入了虛擬列的概念,也稱為“生成列”。這種類型的列可以基于表中其他列的值進行計算,或者在插入或更新記錄時自動生成值。
? ? ? Oracle中的虛擬列是一種不占據實際存儲空間的列,其值是基于其他列計算得出的。虛擬列通常是只讀的,并且不能被直接插入或更新。
創建虛擬列的語法如下:
優勢:
1.節省存儲空間:由于虛擬列的值不存儲在數據庫中,只在查詢時計算,節省了存儲空間。
2.數據一致性:虛擬列的值始終是計算得到的,能夠保持數據的一致性。
3.簡化查詢:通過虛擬列,可以簡化查詢語句,不需要在每次查詢時重復計算表達式。
3.實驗
(1)創建表:
CREATE TABLE feng_test (kid NUMBER PRIMARY KEY,first_name VARCHAR2(50),last_name VARCHAR2(50),birth_date DATE,age AS (TRUNC(MONTHS_BETWEEN(SYSDATE, birth_date)) / 12) VIRTUAL
);
說明:
1)
創建表時,通過使用Oracle 內置函數或自定義函數來定義虛擬列。
? ? ?自定義函數須在虛擬列定義前聲明.定義完虛擬列后,還可以修改自定義的函數定義。
2)age
是一個虛擬列,它通過計算當前日期與birth_date
之間的月份數然后除以12來得到員工的年齡。?
(2)增加虛擬列:
ALTER TABLE feng_test
ADD (age1 AS (TRUNC(MONTHS_BETWEEN(SYSDATE, birth_date)) / 12) VIRTUAL);
(3)刪除虛擬列:
ALTER TABLE feng_test DROP COLUMN age1;
?(4)查詢虛擬列:
select * from feng_test;
(5)可在虛擬列上建立分區
create table feng_part
(kid number(6),
sal number(8,2),
jbxs number(8,2),
name varchar2(10)
sal_all generated always as( sal+nvl(jbxs,0) ) virtual
)
partition by range(sal_all)( partition sal_4000 values less then (4000),partition sal_4000 values less then (8000),partition sal_default values less then (MAXVALUE))
4.總結
(1) 只有堆組織表(heap-organized table)才可以定義虛擬列
(2) 虛擬列不能引用其他的虛擬列
(3) 虛擬列只能引用自己表中的列, 不能引用其他表中的列。
(4) 虛擬列值只能是標量 scalar value (a single value, not a set of values)
(5)虛擬類自動計算,不可插入
Oracle 采用虛擬列占用CPU時間,但節約了磁盤的存儲空間
?
項目管理--相關知識???
項目管理-項目績效域1/2-CSDN博客
項目管理-項目績效域1/2_八大績效域和十大管理有什么聯系-CSDN博客
項目管理-項目績效域2/2_績效域 團不策劃-CSDN博客
高項-案例分析萬能答案(作業分享)-CSDN博客
項目管理-計算題公式【復習】_項目管理進度計算題公式:樂觀-CSDN博客
項目管理-配置管理與變更-CSDN博客
項目管理-項目管理科學基礎-CSDN博客
項目管理-高級項目管理-CSDN博客
項目管理-相關知識(組織通用治理、組織通用管理、法律法規與標準規范)-CSDN博客
Oracle其他文檔,希望互相學習,共同進步
Oracle-找回誤刪的表數據(LogMiner 挖掘日志)_oracle日志挖掘恢復數據-CSDN博客
oracle 跟蹤文件--審計日志_oracle審計日志-CSDN博客
ORA-12899報錯,遇到數據表某字段長度奇怪現象:“Oracle字符型,長度50”但length查卻沒有50_varchar(50) oracle 超出截斷-CSDN博客
EXP-00091: Exporting questionable statistics.解決方案-CSDN博客
Oracle 更換監聽端口-CSDN博客