가상 테이블은 물리적으로 존재하지 않는 가상의 테이블로써 기존의 테이블이나 또다른 가상 테이블에 대한 질의문의 형태로 정의된다. 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 ;