Application Programming Interface Guide > DSL API > Data Views > DSL Syntax
 
DSL Syntax
Using the DSL syntax mentioned below,, the "rest/execute/v1/ actions/dsl/invoke" REST API can be executed to CUD views:
 
DROP DATA VIEW (IF EXISTS)? /path/name
———————————————————————————————————————————————————————————————
CREATE DATA VIEW (IF NOT EXISTS)? /path/name
DEFINE AS sql
(SET PROPERTIES {"name":{value}})?
(SET ANNOTATION 'this is a view created using DSL api' | NULL)?
———————————————————————————————————————————————————————————————
ALTER DATA VIEW /path/name
(RELOCATE AS /path/newName)?
(DEFINE AS sql)?
(SET PROPERTIES {"name":{value}})?
(SET ANNOTATION 'this view is altered using DSL api' | NULL)?
———————————————————————————————————————————————————————————————
SELECT * FROM model.ALL_TABLES where TABLE_NAME = 'name';
———————————————————————————————————————————————————————————————
SELECT * FROM model.ALL_RESOURCE_PROPERTIES WHERE
PROPERTY_NAME = 'propName' AND
METADATA_ID =
(SELECT TABLE_ID FROM model.ALL_TABLES
WHERE TABLE_NAME = 'name' AND //name of view
PARENT_PATH = '/path'); //parent path of the view
 
Note: Properties and annotation are optional when creating a data view.