前页 | 后页 |
创建搜索定义
如果您想定义自己的搜索,则可以通过“新搜索”对话框使用SQL编辑器,查询生成器或Add-In来定义。用户定义的搜索存储在正在使用的计算机的用户应用程序数据中,而不存储在项目存储库中。
访问
色带 |
浏览>搜索>模型: 或 设计>元素>管理>搜索模型: |
键盘快捷键 |
Crtl + F: 或 + + A: |
创建一个新的搜索定义
字段/按钮 |
行动 |
也可以看看 |
---|---|---|
名称 |
输入搜索名称。 |
|
查询生成器 |
单击此单选按钮可通过内部搜索编辑器创建搜索。 |
|
SQL编辑器 |
单击此单选按钮可通过直接编写SQL语句来创建搜索。 (适用于高级用户。) |
|
Add-In搜索 |
单击此单选按钮可将搜索定义为Add-In的功能。 |
|
Add-In名称和方法 |
(如果您选择了“ Add-In搜索”单选按钮,则可用) 输入:
|
Add-In搜索 |
好 |
单击此按钮以创建新搜索并关闭对话框。 搜索构建器面板将在工具栏下方打开。对于:
“ SQL Scratch Pad”上的SQL语句未附加到任何搜索中,也不是从“在项目中查找”工具栏启动的任何操作的焦点。 |
定义和修改搜索 |
取消 |
单击此按钮可中止搜索创建并关闭对话框。 |
创建SQL搜索
您可以通过“查询生成器”标签使用SQL编辑器创建SQL语句。 SQL编辑器基于通用的代码编辑器,并提供从Enterprise Architect存储库结构中填充的Intelli-sense自动完成列表。
要显示自动完成列表,请将光标置于命令之后,然后按Ctrl + Space。
给定用户在“搜索词”字段中输入的搜索词,简单的搜索可能是从表中找到对象,例如:
SELECT * FROM t_object WHERE NAME ='<搜索词>'
在WHERE语句中,您还可以将#xxx#宏用作字符串替换器,以便同一搜索可以由不同环境中的不同人员使用。这些宏都是区分大小写的。它们包括:
巨集 |
描述 |
也可以看看 |
---|---|---|
#作者# |
从“首选项”对话框“常规”页面的“作者”字段中获取用户名,因此可以对由该用户创建的对象执行定义的搜索(此值可以在“首选项”对话框中手动重新设置) 。 |
|
#科# |
获取一个或多个父Package下的每个子Package的ID,递归地工作到子Package的最低级别。例如: t_object.Package_ID IN(#Branch#) 此宏有三个排列:
|
|
#Concat <值1>,<值2>,...# |
提供一种将两个或多个SQL术语连接成一个字符串的方法,而与数据库类型无关。 |
|
#Datepart <字段>,<列># |
提供一种查询日期的一部分的方法,而与数据库类型无关。 <field>的值可以是以下之一:
|
|
#CurentElementGUID# |
获取当前选定元素的ea_guid。例如: t_object.ea_guid =#CurrentElementGUID# |
|
#CurrentElementID# |
获取当前所选元素的Object_ID。例如: t_object.Object_ID =#CurrentElementID# |
|
#DB = <DBNAME># |
DBNAME可以是以下之一:
#DB = ORACLE#t_object.ModifiedDate> =(SYSDATE-INTERVAL'Search Term'DAY)#DB = ORACLE# |
|
#左<field>,<count># |
从字符串的开头开始,从字段返回“计数”个字符。 |
|
#现在# |
插入当前日期,加上或减去指定的小时数或天数;缺省值为天(调整日期格式以适合所使用的数据库),如下所示:
|
|
#包# |
获取当前选定包的Package_ID。例如: t_object.Package_ID =#包装# |
|
#右<field>,<count># |
返回该字段的最后一个“计数”个字符。 |
|
#Substring <字段>,<开始># |
返回以“开始”字符(从1开始)开始的字段的其余部分 |
|
#Substring <字段>,<开始>,<计数># |
返回从字符“ start”(从1开始)开始的字段的“ count”个字符。 |
|
#用户名# |
获取登录到版本控制的人员的姓名。本示例来自内置搜索“我已签出的包裹”。
|
|
#厕所# |
获取当前数据库的适当通配符,因此可以在不同数据库上的模型上执行搜索。例如: t_object.Name像'#WC#Test#WC#' |
GUID和类型
对于使用自定义SQL语句的所有函数(包括“文档报告”和“模型视图”),该语句必须返回GUID和找到的对象的类型,以便系统可以在“浏览器”窗口中搜索选定的项目。 SELECT语句区分大小写,应按如下所示输入:
- SELECT ea_guid AS CLASSGUID,Object_Type AS CLASSTYPE,名称来自t_object
- SELECT ea_guid AS CLASSGUID,Object_Type AS CLASSTYPE,名称来自t_object
- SELECT ea_guid AS CLASSGUID,“ Operation” AS CLASSTYPE,名称来自t_operation
- 选择ea_guid AS CLASSGUID,“属性” AS CLASSTYPE,名称来自t_attribute
- SELECT ea_guid AS CLASSGUID,Connector_Type AS CLASSTYPE,“ t_connector”作为CLASSTABLE,名称FROM t_connector
- 选择ea_guid AS CLASSGUID,Diagram_Type AS CLASSTYPE,'t_diagram'作为CLASSTABLE,名称FROM t_diagram
- (t_object.Object_ID和t_object.Object_Type)或
- t_object。 ea_guid AS CLASSGUID
SQL Scratch Pad工具栏按钮
“ SQL Scratch Pad”选项卡通过其工具栏提供了少量功能。
图标 |
描述 |
---|---|
单击此图标以测试您定义的搜索。结果显示在“在项目中查找”视图的主面板中。 |
|
单击此图标将当前SQL搜索另存为新搜索。显示提示,提示新的搜索名称。 当您单击“确定”按钮时,系统将切换到“查询生成器”选项卡,将SQL语句复制到该选项卡,然后将搜索名称放入“搜索”字段。 |
|
单击此图标清除当前搜索定义的“ SQL Scratch Pad”。 |
笔记
- 在“查询生成器”选项卡上创建自定义SQL搜索时,工具栏中仅有的两个图标是保存图标和删除过滤器图标 ; “删除过滤器”图标实际上是一个删除图标,用于删除搜索内容(SQL语句)