가상 테이블은 물리적으로 존재하지 않는 가상의 테이블로써 기존의 테이블이나 또다른 가상 테이블에 대한 질의문의 형태로 정의된다. CUBRID에서는 가상 테이블을 나타낼 때 VIEW 또는 VCLASS 를 사용할 수 있다.
CREATE VIEW 구문을 이용하여 가상 테이블을 생성한다.
CREATE [
VIEW
|
VCLASS ]
view_name
[ {
UNDER |
AS SUBCLASS OF }
super_vclass_name [ {,
super_vclass_name
}_
] ]
[
CLASS
ATTRIBUTE (
class_attr_definition
[ {, class_attr_definition }_ ]
) ] [ ( view_attr_definition
[ { , view_attr_definition
}_
] ) ]
[
METHOD
method_definition
[ { , method_definition
}_
] ]
[
FILE
path_name
[ { , path_name }_ ] ]
[
INHERIT
resolution_list
]
[ AS
query_specification
[ {
UNION ALL query_specification
}_
] ]
[
WITH
CHECK OPTION]
[ ;
]
super_vclass_name
:
[ user_name.]classname
class_attr_definition
:
attribute_name datatype [
DEFAULT value
]
[
NOT NULL ]
view_attr_definition
:
column_name [ datatype ] [ {
SHARED [ value
]
[
NOT NULL ] |
DEFAULT value } ]
다음은 2004년도 올림픽에 출전한 선수 이름과 획득메달을 보여주는 가상 테이블 game_2004를 생성하는 예제이다.
CREATE
VIEW game_2004 (name varchar(40), medal char(6) default 'none')
AS SELECT a.name, g.medal
FROM game g, athlete a
WHERE g.host_year = 2004 AND g.athlete_code = a.code ;