The default Oracle DDL template is stored in <program installation folder>\ data\DB_engineering\Oracle_template folder. The template consists of many macros - velocity functions. Each macro is dedicated for a particular object generation.
This example shows the velocity macro for the Oracle VIEW object generation:
#macro ( generateView $data ) #set ( $QUERY_RESTICTION = "query restriction") #set ( $force = false) #set ( $force = $oracleHelper.getBooleanValueFromDefaultProfile($data,$VIEW_STEREOTYPE, $FORCE_TAG ) ) #set ( $sqlrestriction = false) #set ( $sqlrestriction = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_RESTICTION ) ) #set ( $sql = false) #set ( $sql = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_TAG )) #set ( $columns = false) #set ( $columns = $ oracleHelper.getViewColumnList( $data ) ) #if ($columns) #set ( $columns = " ($columns)" ) #else #set ( $columns = $nospace ) #end #writeDocumentation ( $data $nospace ) #writeLine( "$ oracleHelper.getCreate($data) #if ( $oracleHelper.getPropertiesListFromDefaultProfile($data, $VIEW_STEREOTYPE,$FORCE_TAG).size()>0 ) #if( $force ) FORCE #else NO FORCE #end #end VIEW $oracleHelper.getQualifiedName( $data )$columns AS" $nospace) #if ( $sql ) #writeLine( $sql $tab ) #end #writeText( ${sqlrestriction} ${space}${nospace})${semicolon} #end
A model element with the stereotype “view” is passed to a macro function, and then all element information is retrieved by the $oracleHelper utility class. The Oracle View stereotype has 3 properties. These tagged values store information about the force, query restriction, and query statements.
Method $oracleHelper.getFirstPropertyValueFromProfile( $data,$VIEW_STEREOTYPE, $QUE- RY_RESTICTION) gets query restriction statement from element $data.