DDLの機能マクロ

<< 目次を表示 >>

ページ位置:  その他の記法のモデリング > データベースの設計・生成と読み込み > DDLの生成 > DDLテンプレートの文法 >

DDLの機能マクロ

DDLの機能マクロはDDL生成に関係するさまざまな操作、例えば文字列の操作や整形などを可能にする便利なマクロです。これらの機能マクロは、コード生成テンプレートでも利用できる機能マクロに追加して利用できます。コード生成テンプレートの機能マクロと同じく、それぞれの機能マクロの戻り値は文字列です。

 

利用可能な機能マクロは以下の通りです。すべてのパラメータは文字列型で、角カッコで囲んで表現しています。

 

 

DDL_DATATYPE_SIZE ([productName], [datatype])

処理対象の列の、DBMSごとの完全な形式のデータ型を返します。

 

パラメータ

補足

Enterprise Architectでは、列の長さや精度などの情報をデータ型とは別に持っています。これらの情報を含めて、DBMSごとに適切な形式でデータ型を出力するためのマクロです。

 

 

DDL_GET_DEFINITION_PARAS ([definition])

ファンクションやプロシージャの定義で利用されているパラメータを返します。

 

パラメータ

補足

PostgreSQLなど、いくつかのDBMSでは同じプロシージャやファンクション名でも定義が複数存在する場合があります。これらの違いはパラメータリストのみとなりますので、DDLの生成時には名前だけでなくパラメータリストも参照する必要があります。このマクロを利用することで、パラメータの情報を抽出できますので、ファンクションやプロシージャを正確に判別するために利用できます。

 

 

DDL_INCLUDE_SQLQUERY([objectName])

SQLQueryオブジェクトが保持しているSQL文を返します。

 

パラメータ

補足

なし

 

 

DDL_INDEX_SORT([product],[columns])

指定されたインデックスのソート順を返します。

 

パラメータ

補足

このマクロはFirebirdの場合のみ利用できます。

 

 

DDL_RESOLVE_NAME ([productName], [name], [leftSurround], [rightSurround])

渡された名前が、対象のDBMSでの予約語の場合に、指定された文字列で囲んで返します。

 

パラメータ

補足

DBMSによって、それぞれDDL内で利用できない予約語が定義されています。このマクロを利用することで、予約語には引用符を付けて区別できます。特に、DB2やFirebirdにおいて、適切な内容となるように調整できます。

 

 

DDL_TABLE_TAGVALUE ([tagName])

対象のテーブルの、指定したタグ付き値の値を返します。

 

パラメータ

補足

なし

 

 

EXECUTE_CURRENT ([objectName], [actionName], [priority])

実行エンジンの実行キューに、テンプレートから得られるDDLを追加します。

 

パラメータ

補足

この機能マクロはテンプレートのどこででも呼び出せますが、実行されるのはそのテンプレートの生成が完了した後です。テンプレートの内容の生成が完了すると、そのDDLの内容が実行キューに送られます。

この機能マクロは、DDLをファイルに生成する場合には無視されます。

 

 

EXECUTE_STRING ([objectName], [actionName], [priority], [ddlStatement])

実行エンジンのキューに指定したDDL文を追加します。

 

パラメータ

補足

この機能マクロは、DDLをファイルに生成する場合には無視されます。

 

 

EXIST_STRING ([ddlStatement])

実行エンジンのキューの中に、指定したDDLが存在するかどうかを指定します。存在する場合には 'T' を返します。

 

パラメータ

補足

なし

 

 

GET_FIRST_SQL_KEYWORD([statement])

渡されたSQL分の最初のキーワードを返します。

 

パラメータ

補足

なし

 

 

ODBC_TABLE_TAGVALUE ([tagName])

現在のテーブルの、実際のデータベースに存在する要素のタグ付き値の値を返します。

 

パラメータ

補足

なし

 

 

PROCESS_DDL_SCRIPT ([type], [parameter2], [parameter3], [parameter4])

特定の目的で利用する、文字列の書式を整えるためのマクロです。

 

パラメータ

補足

OracleのSYNONYMSの生成時に、以下のように利用できます。:

戻り値

生成例

    CREATE SYNONYM OE.EMPLOYEES FOR TBL_EMPLOYEES;

    CREATE PUBLIC SYNONYM PUB_EMPLOYEES FOR TBL_EMPLOYEES;

 

 

REMOVE_LAST_SEPARATOR ([ddlStatement], [separator])

渡されたDDL文字列について、もし最後に指定されたセパレータがある場合には、削除します。

 

パラメータ

補足

DDLを生成する場合には、出力する内容とセパレータを繰り返し出力することが多いです。最後の出力内容に限りセパレータは不要になるので、このマクロを利用して削除します。

 

 

REMOVE_STRING ([ddlStatement])

実行対象となるDDLから、指定されたDDLを削除します。

 

パラメータ

補足

なし

 

SUPPRESS_EXECUTE_CURRENT ([boolean])

EXECUTE_CURRENTを実行するかどうかを指定します。

 

パラメータ

補足

このマクロに対する処理の既定値はFalseです。つまり、EXECUTE_CURRENTへの呼び出しは実行されません。