View
뷰(가상 테이블)는 물리적으로 존재하지 않는 가상의 테이블이며, 기존의 테이블이나 뷰에 대한 질의문을 이용하여 뷰를 생성할 수 있다. VIEW 와 VCLASS 는 동의어로 사용된다.
CREATE [OR REPLACE] {VIEW | VCLASS} view_name [<subclass_definition>] [(view_column_name [COMMENT 'column_comment_string'], ...)] [INHERIT <resolution>, ...] [AS <select_statement>] [WITH CHECK OPTION] [COMMENT [=] 'view_comment_string']; <subclass_definition> ::= {UNDER | AS SUBCLASS OF} table_name, ... <resolution> ::= [CLASS | TABLE] {column_name} OF superclass_name [AS alias]
기존에 제공하는 view가 10.2에서 특별히 변경된 부분은없으나,
9.x이하 버전에서 생성된 view가 4Kbyte를 넘어서는 경우 아래와 같이 'show create view'구문으로 확인 시 , 짤려보이는 현상이 발생하였다.
CUBRID 9.3 (9.3.9.0002) (64bit release build for linux_gnu) (Aug 4 2017 11:55:22) csql> show create view too_much_long_view; === <Result of SELECT Command in Line 1> === View Create View ============================================ 'too_much_long_view' 'select [db_class].[class_name], [db_class].[class_name], ...(중략)... [db_class].[class_name], [db_class].[cl' 1 rows selected. (0.030719 sec) Committed.
마지막 부분을 보면, [db_class].[cl'로 더 이상 출력되지 않았다.
새로 release된 10.2버전에서 이를 수정하여 4Kbyte이상의 view도 처리가 가능해졌다.
CUBRID 10.2 (10.2.1.8849-de852d6) (64bit release build for Linux) (May 28 2020 15:55:52) csql> show create view too_much_long_view; === <Result of SELECT Command in Line 1> === View Create View ============================================ 'too_much_long_view' 'select [db_class].[class_name], [db_class].[class_name], ...(중략)... [db_class].[class_name], [db_class].[class_name], [db_class].[class_name], [db_class].[class_name] from [db_class] [db_class]' 1 row selected. (2.232959 sec) Committed.
9.x버전은 10.2와 DB호환이 되지 않는다.
기존의 9.x의 사용자라면 'cubrid unloaddb'를 수행하여 10.2에 loaddb하면, show 구문으로 view확인이 가능하다.