前页 后页

DDL函数宏

DDL功能宏提供了一种方便的方式来处理,检索或格式化与DDL生成相关的元素数据。这些宏以及代码功能宏可用于DDL模板。每个功能宏都返回一个结果字符串,并以与代码模板功能宏相同的方式使用。

此处描述了可用的功能宏。所有参数都具有String类型,并用方括号表示;即:FUNCTION_NAME([param])。

DDL_DATATYPE_SIZE([产品名称],[数据类型])

以DDL语法返回当前列的全格式数据类型。

参量

  • productName-当前表分配的DBMS,例如SQL Server 2012,Oracle或PostgreSQL
  • datatype-当前列的数据类型名称,例如VARCHAR或INT
备注

在“ Enterprise Architect表”列中,数据类型是使用影响DDL语法的Length Type(0、1或2)属性定义的;构建返回值时,此函数宏会考虑长度类型(和其他因素)。

DDL_GET_DEFINITION_PARAS([定义])

从提供的函数/过程定义中返回参数的字符串表示形式。

参量

  • 定义-过程/函数的完整SQL定义
备注

某些DBMS(例如PostgreSQL)支持同一过程/函数名称的多个定义。这些定义仅在其参数列表中有所不同,因此,要操作此类对象,DDL必须指定名称和参数。此函数宏使DDL模板具有提取参数的能力,以便随后可以将其用于标识单个对象。

DDL_INCLUDE_SQLQUERY([objectName])

返回在SQLQuery对象中定义的SQL语句。

参量

  • objectName-当前数据模型中定义的SQL查询对象的名称
备注

没有。

DDL_INDEX_SORT([产品],[列])

返回给定索引的排序顺序。

参量

  • 产品-DBMS(当前为Firebird)
  • columns-索引中涉及的列名称的CSV
备注

该宏当前仅适用于Firebird索引。

DDL_RESOLVE_NAME([产品名称],[名称],[leftSurround],[rightSurround])

如果名称是当前DBMS的保留字,则返回提供的名称(用左,右字符分隔)。

参量

  • productName-当前表分配的DBMS,例如SQL Server 2012,Oracle或PostgreSQL
  • name-对象/列名称
  • leftSurround-用于包围名称的货币对的左字符;例如,单引号{'}
  • rightSurround-用来包围名字的一对右字符;例如,单引号{'}
备注

某些DBMS的DDL语法要求保留字的名称以不同的方式分隔;此函数宏可用于安全地格式化DB2和Firebird的所有名称。

DDL_TABLE_TAGVALUE([tagName])

返回当前表的存储库版本中提供的标记名称的值。

参量

  • tagName-要检索的标签项的名称
备注

没有。

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

将当前模板的返回字符串添加到执行引擎的执行队列中。

参量

  • objectName-将在执行队列的“对象”列中显示的值,该值指示要更新的对象的名称
  • actionName-将在执行队列的“ Action”列中显示的值,该值指示导致生成此语句的操作
  • 优先级-表示语句优先级的数值;数字越大,则语句在队列中的位置越低
备注

可以在整个模板的任何位置调用此函数宏,但是直到最后才执行。模板完成后,将其生成的DDL发送到执行队列。

如果用户选择为文件生成DDL,则此功能宏无效。

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

将提供的DDL语句添加到执行引擎的执行队列中。

参量

  • objectName-将在执行队列的“对象”列中显示的值,该值指示要更新的对象的名称
  • actionName-将在执行队列的“ Action”列中显示的值,该值指示导致生成此语句的操作
  • 优先级-表示语句优先级的数值;数字越大,则语句在队列中的位置越低
  • ddlStatement-执行所需操作的单个DDL语句
备注

如果用户选择为文件生成DDL,则此功能宏无效。

EXIST_STRING([ddlStatement])

在执行引擎的执行队列中搜索提供的DDL语句,如果找到该语句,则返回“ T”。

参量

  • ddlStatement-单个DDL语句
备注

没有。

GET_FIRST_SQL_KEYWORD([声明])

返回提供的SQL语句的第一个关键字。

参量

  • 语句-SQL语句
备注

没有。

ODBC_TABLE_TAGVALUE([tagName])

返回当前表的实时数据库版本中提供的标签名称的值。

参量

  • tagName-要检索的标签项的名称
备注

没有。

PROCESS_DDL_SCRIPT([类型],[参数2],[参数3],[参数4])

泛型函数宏,用于返回特定用途的格式化字符串。

参量

  • 类型-指定要采取的特殊措施
  • parameter2-通用参数2,每种类型的用途不同
  • parameter3-通用参数3,每种类型的用途不同
  • parameter4-通用参数4,每种类型的用途不同
备注

对于Oracle同义词,请使用以下参数:

  • 类型=“ SYNONYMS”
  • parameter2 =表名;例如,TBL_EMPLOYEES
  • parameter3 =分隔的值字符串,用分号分隔,指定同义词所有者和名称,并在其之间使用全冒号;例如OE:EMPLOYEES; PUBLIC:PUB_EMPLOYEES;
  • parameter4 =语句终止符
返回结果

格式:

为TBL_EMPLOYEES创建SYNONYM OE.EMPLOYEES;

为TBL_EMPLOYEES创建公共SYNUYM PUB_EMPLOYEES;

REMOVE_LAST_SEPARATOR([ddlStatement],[separator])

返回提供的DDL语句,其中最后一个分隔符已删除(如果存在)。

参量

  • ddlStatement-部分DDL语句
  • 分隔符-应该删除的分隔符
备注

在构建表示DDL语句的字符串时,通常的做法是在每个项目后附加分隔符;但是,在最后一项之后不需要分隔符,因此提供了此功能宏以删除结尾的分隔符。

REMOVE_STRING([ddlStatement])

从执行引擎的执行队列中删除提供的DDL语句。

参量

  • ddlStatement-单个DDL语句
备注

没有。

SUPPRESS_EXECUTE_CURRENT([布尔值])

一个函数宏,用于启用/禁用对EXECUTE_CURRENT的后续调用。

参量

  • 布尔值-对或错
备注

该标志的默认状态为False;否则为false。也就是说,不会忽略对EXECUTE_CURRENT的调用。