上一页 | 下一页 |
创建搜索定义
如果要定义自己的搜索,可以使用SQL编辑器,查询生成器或加载项,通过“新搜索”对话框来完成。用户定义的搜索存储在正在使用的计算机的用户应用程序数据中,而不是存储在项目存储库中。
访问
功能区 |
开始>查看>搜索>模型: 或 设计>元素>编辑>搜索模型: |
键盘快捷键 |
Crtl + F: 或 : |
创建新的搜索定义
字段/按钮 |
描述 |
请参阅 |
---|---|---|
名称 |
输入搜索名称。 |
|
查询生成器 |
单击此单选按钮可通过内部搜索编辑器创建搜索。 |
|
SQL编辑器 |
单击此单选按钮可通过直接编写SQL语句来创建搜索。 (适用于高级用户。) |
|
加载项搜索 |
单击此单选按钮可将搜索定义为加载项的功能。 |
|
加载项名称和方法 |
(如果您选择了“加载项搜索”单选按钮,则可用) 输入:
|
加载项搜索 |
ok |
单击此按钮以创建新搜索并关闭对话框。 搜索构建器面板将在工具栏下方打开。对于:
Search Builder还提供了一个“ SQL Scratch Pad ”选项卡,您可以使用该选项卡在将SQL语句复制到“查询生成器”选项卡之前创建和测试它们。 “SQL Scratch Pad”上的SQL语句不附加到任何搜索,也不是从“在项目中查找”工具栏启动的任何操作的焦点。 |
定义和修改搜索 |
取消 |
单击此按钮可中止搜索创建并关闭对话框。 |
创建SQL搜索
您可以通过“查询生成器”选项卡使用SQL编辑器创建SQL语句。SQL编辑器基于通用代码编辑器,并提供从Enterprise Architect存储库结构填充的Intelli-sense自动完成列表。
要显示自动完成列表,请将光标放在命令后面,然后按
。根据用户在“搜索术语”字段中输入的搜索词,简单搜索可能是从表中查找对象,例如:
SELECT * FROM t_object WHERE NAME ='<Search Term>'
在WHERE语句中,您还可以使用#xxx#macros作为字符串替换器,以便不同环境中的不同人员可以使用相同的搜索。这些宏都是区分大小写的。他们包括:
宏观 |
描述 |
请参阅 |
---|---|---|
#作者# |
从“首选项”对话框“常规”页面中的“作者”字段中获取用户名,以便可以对该用户创建的对象执行定义的搜索(可以在“首选项”对话框中手动重新设置此值) 。 |
|
#科# |
获取当前所选Package的子Packages的ID,递归地工作到子Package的最低级别。例如:
|
|
#Concat value1,value2 ......# |
提供一种将两个或多个SQL术语连接成一个字符串的方法,与数据库类型无关。 |
|
#Datepart <field>,列# |
提供查询Date的一部分的方法,与数据库类型无关。<field>的值可以是以下值之一:
|
|
#CurentElementGUID# |
获取当前所选元素的ea_guid。例如:
|
|
#CurrentElementID# |
获取当前所选元素的Object_ID。例如:
|
|
#DB = <DBNAME># |
<DBNAME>可以是以下之一:
如果当前数据库类型与指定的DBNAME匹配,则仅使用两个匹配的#DB = <DBNAME>#宏之间的代码部分; 它可以用于SQL的一部分可能需要特殊处理的位置,具体取决于当前的数据库类型。例如: #DB = ORACLE#t_object.ModifiedDate> =(SYSDATE - INTERVAL'<Search Term>'DAY)#DB = ORACLE# |
|
#现在# |
插入当前日期加上或减去指定的小时数或天数; 默认值为天(调整日期格式以适合正在使用的数据库),如下所示:
例如:
|
|
#包# |
获取当前所选Package的Package_ID。例如: t_object.Package_ID =#Package# |
|
#用户名# |
获取登录到版本控制的人员的名称。此示例来自内置搜索“My Checked Out Packages”。
|
|
#WC# |
获取当前数据库的相应通配符,以便可以对不同数据库上的模型执行搜索。例如: t_object.Name LIKE'#WC#Test#WC#' |
GUID和类型
对于使用自定义SQL语句(包括文档报告和模型视图)的所有函数,语句必须返回找到的对象的guid和类型,以便系统可以在项目浏览器中搜索所选项。SELECT语句区分大小写,应按如下所示键入:
- SELECT ea_guid AS CLASSGUID,Object_Type AS CLASSTYPE,Name FROM t_object
您可以使用别名CLASSGUID和CLASSTYPE扩展SQL搜索的可用性,以便您可以显示“属性”对话框,标记值和元素,连接器,属性或操作的图标,以及在项目浏览器中选择它们。使用这些别名字段的一些简单示例是:
- SELECT ea_guid AS CLASSGUID,Object_Type AS CLASSTYPE,Name FROM t_object
- SELECT ea_guid AS CLASSGUID,'Operation'AS CLASSTYPE,Name FROM t_operation
- SELECT ea_guid AS CLASSGUID,'Attribute'AS CLASSTYPE,Name FROM t_attribute
查询连接器和图表都可以返回与对象类型的默认关联匹配的类型。对于这些表,还应返回CLASSTABLE字段以允许它们与类似的对象类型区分开来。
- SELECT ea_guid AS CLASSGUID,Connector_Type AS CLASSTYPE,'t_connector'为CLASSTABLE,Name FROM t_connector
- SELECT ea_guid AS CLASSGUID,Diagram_Type AS CLASSTYPE,'t_diagram'为CLASSTABLE,Name FROM t_diagram
您可以通过在搜索SELECT语句中包含其中一个元素,使搜索用户能够将搜索结果中的元素拖放到图表上:
- (t_object.Object_ID和t_object.Object_Type)或
- t_object。ea_guid作为CLASSGUID
当你定义的SELECT语句,点击 “查询生成器”的工具栏保存此搜索中; 然后可以从“搜索”下拉列表中进行搜索。
SQL Scratch Pad工具栏按钮
“ SQL Scratch Pad ”选项卡通过其工具栏提供少量设施。
图标 |
描述 |
---|---|
单击此图标可测试您已定义的搜索。结果显示在“在项目中查找”视图的主面板中。 |
|
单击此图标可将当前SQL搜索保存为新搜索。将显示新搜索名称的提示。 单击“ ,系统将切换到“查询生成器”选项卡,将SQL语句复制到选项卡,并将搜索名称放入“搜索”字段。 |
|
单击此图标可清除当前搜索定义的“ SQL Scratch Pad ”。 |
备注
- 在“查询生成器”选项卡上创建自定义SQL搜索时,工具栏中唯一可用的两个图标是“ 和“ ; 删除筛选器图标实际上是 搜索内容的 (SQL语句)
学到更多