CREATE TABLEで作成された表は実表とよばれます。ビューは実表ではありません。間違いが許されないデータベース管理にとって、実表を守るという意味でビューは重要な役割を果たします。
■ビューの作成
必要な表の必要な列だけを、必要な条件で抜き出したものです。
SQL> CREATE VIEW ビューの名前
AS SELECT 列名 条件;
例)
SQL> select * from 社員;
社員番号 社員名 職務 上司 入社日 給与 歩合給 部門番号
---------- -------------------- ------------------ ---------- -------------- ---------------- ---------- ----------
7900 田中 業務 7698 01-12-03 195000 30
7902 桜井 主任 7566 01-12-03 300000 20
7934 田村 業務 7782 02-01-03 230000 10
3行が選択されました。
SQL> create view 給与は秘密
2 as select 社員番号,社員名,職務,上司,入社日,部門番号
3 from 社員;
ビューが作成されました。
SQL> select * from 給与は秘密;
社員番号 社員名 職務 上司 入社日 部門番号
---------- -------------------- ------------------ --------------- ------------- --------------
7900 田中 業務 7698 01-12-03 30
7902 桜井 主任 7566 01-12-03 20
7934 田村 業務 7782 02-01-03 10
3行が選択されました。
■ビューと元になる表の関係
元になる表の値が更新されると、ビューの値も更新されます。
例)
SQL> INSERT INTO 社員 VALUES('9999','おらくる','主任','','','1000000','1000','20');
1行が作成されました。
SQL> select * from 給与は秘密;
社員番号 社員名 職務 上司 入社日 部門番号
-------------- -------------------- ----------------- ---------- -------------- --------------
9999 おらくる 主任 20
7876 長谷川 SE 7788 07-07-13 20
7900 田中 業務 7698 01-12-03 30
7902 桜井 主任 7566 01-12-03 20
7934 田村 業務 7782 02-01-03 10
5行が選択されました。
■ビューの確認
ビューの存在は、USER_VIEWSで確認することができます。
ビューの名前はVIEW_NAME、ビューの内容はTEXTに保存されています。
例)
SQL> select VIEW_NAME,TEXT FROM USER_VIEWS
2 WHERE VIEW_NAME='給与は秘密';
VIEW_NAME TEXT
---------------------------------------------------- --------------------------------------------------------------------------------
給与は秘密 select 社員番号,社員名,職務,上司,入社日,部門番号 from 社員
■ビューの削除
DROPコマンドを使います。
SQL> DROP VIEW ビューの名前;
例)
SQL> DROP VIEW 給与は秘密;
ビューが削除されました。
参考)
『基礎からのOracle』 西沢夢路著
0 件のコメント:
コメントを投稿