11gで追加された仮想列をつかってみた

会社のPCに11gインストしたのでいろいろ試してみる。、

今回試したのは仮想列(VirtualColumn)
別カラムの内容を参照して加工できる、そして実体はなし!

金額と消費税のテーブルで仮想列で税込金額をつくってみた。

CREATE TABLE VIRTUAL_COLUMN(
	AMOUNT NUMBER
	,TAX NUMBER
	,TAXINAMOUNT AS (AMOUNT+TAX)
)

taxamountカラムが仮想列になってます。
そんでデータInsert

INSERT INTO VIRTUAL_COLUMN(AMOUNT,TAX) VALUES(100,5)

で、検索

SELECT * FROM VIRTUAL_COLUMN

結果

AMOUNT TAX TAXINAMOUNT
100 5 105

おぉ、ちゃんと計算されてでてますね。
ちなみに仮想列に対してInsertとかUpdateするとORA-54013が発生します。

あと、この仮想列に対して索引を付けることが可能
もちろんFunction索引らしい


でもよくよく考えたらTableの定義にロジック入ってるってかなりきもいので
あんま使う機会なさそう