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の定義にロジック入ってるってかなりきもいので
あんま使う機会なさそう