更新时间:2024-04-28 GMT+08:00

使用SQL终端

在“SQL终端”页签中,可进行如下操作:

自动提交

您可在“首选项”窗口启用或禁用“自动提交”功能,具体参见表1

  • 若启用“自动提交”功能,“提交”和“回滚”会被禁用,事务将会被自动提交。
  • 若禁用“自动提交”功能,“提交”和“回滚”会被启用,可手动提交或回滚事务。
    • 对于OLAP,服务器会为所有SQL语句,如select,explain select,及set parameter,打开事务。
    • 对于OLTP,服务器仅为DML语句,如INSERT, UPDATE, 及DELETE,打开事务。

重用连接

“重用连接”允许用户为结果集选择相同的SQL终端连接或新连接。根据数据库服务器中定义的隔离级别,该选择会影响记录的可见性。

  • 如果“重用连接”打开,可以通过终端连接进行数据操作、刷新结果窗口。

对于某些数据库,可以在结果窗口中编辑由终端创建或使用的临时表。

  • 如果“重用连接”关闭,将使用新连接进行数据操作、刷新结果窗口。

对于某些数据库,可以在结果窗口中编辑临时表。

:“重用连接”打开时显示该图标。

:“重用连接”关闭时显示该图标。

:“重用连接”被禁用时显示该图标。

执行以下步骤关闭“重用连接”:

  1. 在“SQL终端”工具栏,单击

    该终端的重用连接功能关闭,显示

    • “重用连接”功能默认启用,用户可自行关闭。如果用户启用“自动提交”,系统会自动启用“重用连接”功能。
    • 如果用户禁用“自动提交”,系统会自动禁用“重用连接”功能,但该功能在界面上仍显示为启用状态,且不允许用户修改。

有关“自动提交”和“重用连接”的更多信息,请参见表1

执行SQL查询

执行如下步骤,执行函数/过程或SQL查询:

在“SQL终端”页签输入函数/过程或SQL语句,单击“SQL终端”页签的;或按“Ctrl+Enter”;或从菜单栏选择“运行 > 编译/执行声明”。

另一种执行SQL语句的方法为,在“SQL终端”页签,右击选择“执行语句”。

可从状态栏查看正被执行的查询的状态。

执行函数/过程或SQL查询和查询语句后,生成结果,并显示在“结果”页签中。

如果在查询执行期间丢失连接但对象浏览器中依然保持数据库的连接,会弹出“连接错误”对话框,显示以下内容:

  • “重新连接”:重新建立连接。
  • “重新连接并执行”:如果打开了自动提交功能,执行将从失败语句开始继续。如果关闭了自动提交功能,执行将从光标所在位置开始继续。
  • “取消”:在对象浏览器中断开数据库连接。

如果三次尝试后依然无法重新连接,将断开对象浏览器中数据库的连接。之后,在对象浏览器中建立数据库的连接,并重试查询。

  • 对于运行时间长的查询,只有在获取完整结果后才能编辑结果集。
  • 以下场景的查询结果可编辑:
    • 选择的对象来自同一个表
    • 选择了所有列或部分列(不存在别名、聚合函数或有关列的表达式)
    • 查询中含有WHERE条件
    • 查询中含有ORDER BY子句
    • 普通、分区和临时表
  • 如果提交空行,将为其所有列分配Null值。
  • 对象浏览器上可用表的查询结果集是可编辑的。
  • 在SQL终端上执行查询的结果是可编辑的。

可通过“设置 > 首选项”设置列宽。详情请参见“表1”。

调整列位置

可单击选中的列标题,并将其拖动到需要的位置。

多列排序

此功能支持用户对某些界面的表数据按照多列进行排序,还可以设置多个排序列的排序优先级。

多列排序适用的界面包括:

  • 结果集页签
  • 编辑表数据窗口
  • 查看表数据窗口
  • 批量表删除窗口

执行以下步骤打开多列排序:

  1. 单击工具栏的

    弹出“多列排序”对话框。

  2. 单击“添加列”,从下拉列表中选择目标排序列。

  3. 按照需要选择顺序。
  4. 单击“应用”。

多列排序对话框包含以下元素:

表1 多列排序对话框界面元素

名称

界面元素类型

描述/操作

优先级

只读文本字段

显示相应列在多列排序时的优先级。

列名

组合字段,可选值包括表的所有列名称

显示为排序添加的列的名称。

数据类型

只读文本字段

显示相应列的数据类型。

顺序

组合字段,可选值包括升序和降序

显示相应列的排序顺序。

添加列

按钮

为多列排序表添加新列。

删除列

按钮

从多列排序表删除选中列。

上移

按钮

将选中列上移一步,调整排序优先级。

下移

按钮

将选中列下移一步,调整排序优先级。

应用

按钮

应用排序设置。

除以下数据类型外,所有其他数据类型都按照字母顺序进行排序:

TINYINT、SMALLINT、INTEGER、BIGINT、FLOAT、REAL、DOUBLE、NUMERIC、BIT、BOOLEAN、DATE、TIME、TIME_WITH_TIMEZONE、TIMESTAMP、TIMESTAMP_WITH_TIMEZONE

多列排序还提供以下图标:

表2 多列排序图标

图标

描述

操作

不排序

如果列标题显示此图标,表示该列未排序。单击此图标,会对该列数据按升序排序。

此外,还可以使用快捷键ALT+单击(列名称)。

按升序排序

如果列标题显示此图标,表示该列已按照升序排序。单击此图标,会对该列数据按降序重新排序。

此外,还可以使用快捷键ALT+单击(列名称)。

按降序排序

如果列标题显示此图标,表示该列已按照降序排序。单击此图标,会取消对该列的排序。

此外,还可以使用快捷键ALT+单击(列名称)。

以下图标显示排序优先级:

:该图标包含3个黑点,优先级最高。

:该图标包含2个黑点,优先级次之。

:该图标包含1个黑点,优先级第三或更低。

表3 工具栏按钮

名称

描述

复制

用于将数据从结果窗口复制到剪切板。快捷键为Ctrl+C。

高级复制

用于将数据从结果窗口复制到剪切板,高级复制会复制列标题。请参阅表1设置此首选项。快捷键为Ctrl+Shift+C。

导出所有数据

用于将所有数据导出到xcel(xlsx/xls)、CSV、文本或二进制文件中。有关详情,请参见导出表数据

说明:
  • 查询中提到的列将自动填充在“选定的列”区域中。“可用列”区域为空。
  • 要导出查询结果,会使用新连接重新执行查询。导出的结果可能与结果选项卡中的数据不同。
  • 该功能对于解释/分析查询不可用。要导出解释/分析查询,请使用“导出当前页数据”选项。

导出当前页数据

用于将当前页数据导出到Execl(xlsx/xls)或CSV文件中。

粘贴到表格

用于粘贴复制的信息。

添加

用于向结果集中添加行。

删除

用于从结果集中删除行。

保存更改

用于保存结果集中所做的更改。

取消更改

用于回滚对结果集所做的更改。

刷新

用于刷新结果集信息。如果针对同一个表打开多个结果集,刷新后,对一个结果集所做的更改也会体现在其他结果集中。同样,如果对表格进行了编辑,则结果集将在刷新后再次更新。

清除已保存的唯一键选项

用于清除先前选择的唯一键。

显示/隐藏查询面板

用于显示/隐藏为特定结果集执行的查询。为状态开关按钮。

显示/隐藏搜索面板

用于显示/隐藏搜索文本字段。为状态开关按钮。

编码

用户能否设置该字段,取决于首选项 > 结果管理 > 查询结果 > 结果数据编码中的设置。在该下拉列表中,用户可选择适当的编码以准确查看数据。默认编码为UTF-8。请参阅表1设置编码首选项。

说明:

修改默认编码后,除数据插入之外的其他数据编辑操作将受到限制。

多列排序

用于弹出多列排序对话框。

清除排序

用于重置所有已排序的列。

搜索字段中的图标:

图标名称

图标

描述

搜索

用于根据定义的条件,搜索结果集。搜索内容不区分大小写。

清空搜索内容

用于清空搜索字段中输入的搜索内容。

结果”页签的右键菜单选项如下:

选项

描述

关闭

仅关闭当前结果窗口。

关闭其它

关闭除当前结果窗口外的其他所有结果窗口。

关闭右侧窗口

关闭当前结果窗口右侧的所有结果窗口。

关闭所有

关闭所有结果窗口,包括当前结果窗口。

分离窗口

单独打开当前结果窗口。

以下为“结果”窗口中显示的状态信息:

  • 查询提交时间”:提交时间。
  • 获取的行数和执行时间同时显示,且会显示默认行数。如果有其他记录待获取,此图标将显示为“更多”。用户可将光标滚至表底部读取并显示所有行。

    用户在查看表数据时,Data Studio会自动调整列宽度以获得良好的视觉效果。用户可根据需要重新设置列的宽度。如果单元格的文本内容超过整个可显示区域,重新调整单元格宽度可能会导致Data Studio无响应。

  • 执行一次查询打开一个新的结果窗口。要在新窗口中查看结果,需选中新打开的窗口。
  • 将focusOnFirstResult参数设为false,可自动定位到最新打开的“结果”页签。有关详情,请参见配置Data Studio
  • 可从结果集中复制行、列、所选单元格。
  • 删除连接后,所有数据仍会成功导出。
  • 如果列的内容包含空格,会在空格处自动断行以适应该列的显示区域。不包含空格的内容不会自动断行。
  • 要复制单元格中的部分内容,先选中所需部分,然后按下“Ctrl+C”或单击
  • 列的大小取决于内容最长的列的长度。
  • 用户可根据喜好保存首选项以定义:
    • 要获取的记录数
    • 列宽
    • 从结果集中复制选项

      详情请参见表1

  • 如果resultset页签中的任何一列包含锁图标,参数值将无法编辑。

备份未保存的查询/函数/过程

Data Studio根据“首选项”页签中定义的时间间隔对“SQL终端”和“PL/SQL Viewer”中未保存的数据进行定期备份。Data Studio会根据“首选项”设置对数据进行加密和保存。请参见表1来打开/关闭备份功能,定义数据保存间隔,并加密保存的数据。

“SQL终端”和“PL/SQL Viewer”中未保存的更改作为备份保存在DataStudio\UserData\<username>\Autosave文件夹中。如果在Data Studio意外关闭之前已经保存了这些备份文件,在下次登录时这些文件全部可用。

在标准退出时,如果“SQL终端”和“PL/SQL Viewer”中存在未保存的数据,Data Studio将等待备份完成之后才关闭。

错误定位

查询/函数/过程的执行过程中,如果出错,会显示错误定位消息:

”: 单击“是”继续执行。

”:单击“否”停止执行。

可选择“不显示此次执行中发生的其他错误。”选项隐藏报错消息并继续执行当前SQL查询。

错误消息的行号和位置显示在“消息”页签。在“终端”或“PL/SQL Viewer”页签中,对应的行编号在出错位置用和红色下划线标记出来。要查看错误消息,可将光标悬停在上。如有行号和错误详情不匹配,请参见FAQs

如果查询/函数/过程在执行过程中被修改,错误定位器可能无法显示正确的行和位置编号。

在“PL/SQL Viewer”或“SQL终端”页签中进行搜索

执行如下步骤,在“PL/SQL Viewer”或“SQL终端”页签中进行搜索:

F3”用于搜索下一处,“Shift+F3”用于搜索上一处。这些快捷键在按下“Ctrl+F”进行文本搜索后,搜索关键词期间可用,直到搜索完毕。“Ctrl+F”、“F3”、“Shift+F3”仅限于在当前实例内搜索关键词。

  1. 在主菜单中选择“编辑 > 查找和替换”。

    也可按下“Ctrl+F”。

    系统显示“查找和替换”对话框。

  2. 在“查找内容”字段中输入要搜索的文本,单击“查找下一处”按钮。

    搜索的文本高亮显示。

    可使用“F3”或“Shift+F3”向前或向后搜索。

    搜索到SQL查询或PL/SQL语句的最后一行后,选择“从当前位置搜索”选项继续搜索。

在“PL/SQL Viewer”或“SQL终端”中定位到某行

执行如下步骤在“PL/SQL Viewer”或“SQL终端”中定位到某行:

转到行”选项用于直接跳转到终端内某行。

  1. 选择“编辑 > 转到行”或按下“Ctrl+G”。

    系统显示“转到行”对话框。

  2. 在“请输入行号”字段中输入所需行号,单击“确定”。

    光标会移动到指定行的行首。

    如下输入对“请输入行号”字段无效:

    • 非数字
    • 特殊符号
    • 编辑器中不存在的行号
    • 超过10位的数字

注释/取消注释

注释/取消注释选项用于注释或取消注释行或整段。

按照以下步骤在“PL/SQL Viewer”或“SQL终端”中注释/取消注释行:

  1. 选择目标行。
  2. 在主菜单选择“编辑>行注释/取消行注释”,单独注释/取消注释每个选中的行。

    也可以使用快捷键“Ctrl+/”,或右键单击行并选择“行注释/取消行注释”完成此操作。

按照以下步骤在“PL/SQL Viewer”或“SQL终端”中注释/取消注释整段:

  1. 选择目标行或整段内容。
  2. 在主菜单选择“编辑 > 块注释/取消块注释”,注释/取消注释选中的行或整段内容。

    也可以使用快捷键“Ctrl+Shift+/”,或右键单击行或整段内容并选择“块注释/取消块注释”完成此操作。

缩进/取消缩进行

缩进/取消缩进选项用于根据“首选项”页签中定义的缩进大小来移动行。

按照以下步骤在“PL/SQL Viewer”或“SQL终端”中缩进行:

  1. 选中目标行。
  2. 按下Tab键或单击

    根据“首选项”页签中定义的缩进大小来移动选中的行。可参见表1来修改缩进大小。

按照以下步骤在“PL/SQL Viewer”或“SQL终端”中取消缩进行:

  1. 选中目标行。
  2. 使用快捷键“Shift+Tab”或单击

    根据“首选项”页签中定义的缩进大小来移动选中的行。可参见表1来修改缩进大小。

    如果选中了多行,则只对存在缩进的行取消缩进。例如,假设用户选择了多行,其中有一行从位置1开始。在这种场景下,使用“Shift+Tab”键将取消除该行以外所有行的缩进。

插入空格

插入空格”选项用于根据“首选项”页签中定义的缩进大小,将制表符替换为空格。

按照以下步骤在“PL/SQL Viewer”或“SQL终端”中将制表符替换为空格:

  1. 选中目标行。
  2. 按下Tab键或“Shift+Tab”键

    Data Studio会根据“首选项”页签中定义的缩进大小,将制表符替换为空格。可参见表1来修改缩进大小。

执行多条函数/过程或查询

执行以下步骤,执行多条函数/过程:

在“SQL终端”页签中,在函数/过程定义之后插入“/”。

在下一行添加新的函数/过程语句。

执行如下步骤执行多条SQL查询:

  1. 在“SQL终端”页签中输入多个SQL查询,如下所示:

  2. 在“SQL终端”页签中单击,或按下“Ctrl+Enter”,或从主菜单中选择“运行 > 编译/执行”。

    • 如果没有选中任何查询,那么只有光标所在行的查询才会被执行。
    • 如果光标处于一个空行,则将执行下一个可用的查询语句。
    • 如果光标处于最后一个空白行,则不会执行任何查询。
    • 如果单条查询以多行形式写入,且光标处于该条查询的任意一行,则执行该查询。多条查询使用英文分号(;)隔开。

执行以下步骤,在执行函数/过程后执行SQL查询:

在“SQL终端”页签中,在函数/过程定义之后插入‘/’,然后添加新的查询语句或函数/过程语句。

执行以下步骤,在不同连接上执行PL/SQL语句和SQL查询:

在“连接”下拉菜单中选择所需连接,在“SQL终端”中单击图标

重命名SQL终端

执行以下步骤重命名SQL终端:

  1. 在“SQL终端”页签单击右键,选择“重命名终端”。

    在显示的“重命名终端”对话框中,输入新的终端名称。

  2. 输入新的名称,单击“确定”。

    • 终端命名需遵从Windows系统的文件命名规则。
    • “重命名终端”对话框最多允许输入150个字符。
    • 恢复选项不能用于恢复到前一个名称。用户须手动将终端重命名为先前的名称。
    • 重命名后的终端中,工具提示会显示原终端名称。

SQL助手

SQL助手为用户在SQL终端和“PL/SQL Viewer”页签中输入信息提供建议或参考。请按照以下步骤打开SQL助手:

启动Data Studio时,SQL助手面板会显示相关语法。在SQL终端输入查询后,将显示对应语法详情,包括注意事项、示例、语法、函数和参数说明。选取文本后,可以通过右键选项复制所选信息,或复制粘贴至SQL终端。

  • 用户可选择设置 > 首选项,在环境 > 会话设置的“SQL助手”区域设置永久启用或禁用SQL助手工具,默认情况下SQL助手功能永久启用。
  • 当启用SQL助手功能后,可以单击工具栏中的SQL助手图标()打开“SQL助手”窗口。如果SQL助手已打开,SQL助手图标是灰色,表示无效。

使用模板

在Data Studio中,用户可使用“模板”选项在SQL终端或PL/SQL查看器中插入常用SQL语句。Data Studio中已保存了一些常用SQL语句以便用户使用。您可以修改这些现有模板,或删除或创建模板。有关如何添加、删除和创建模板,请参见表1

可用的默认模板如下:

名称

说明

df

delete from

is

insert into

o

order by

s*

select from

sc

select row count

sf

select from

sl

select

执行以下步骤使用“模板”选项:

  1. 在SQL终端或PL/SQL查看器中输入模板名称。
  2. 按下“Ctrl+Alt+空格”。

    页面显示已有的模板信息列表。列表可按照如下模式显示。

    精确匹配

    列表显示

    显示与输入文本大小写相匹配的所有条目。

    示例:在SQL终端或PL/SQL查看器中输入“SF”,会显示所有以“SF”开头的条目。

    显示与输入文本相匹配的所有条目,不考虑文本大小写。

    示例:在SQL终端或PL/SQL查看器中输入“SF”,会显示所有以“SF”、“Sf”、“sF”或“sf”开头的条目。

    文本选择/光标定位

    列表显示

    选择文本并使用快捷键

    显示与所选内容左侧字符到其左侧首个空格或换行符为止的内容匹配的条目。

    未选择文本但使用快捷键

    显示与光标位置到其左侧首个空格或换行符为止的内容匹配的条目。

    • 在SQL终端或PL/SQL查看器中,如果不输入文本,直接按下快捷键“Ctrl+Alt+空格”,会显示“模板”中的所有条目。
    • 在SQL终端或PL/SQL查看器中,如果输入的文本只有一个匹配项,则该项会直接替换输入的内容,而不显示模板列表。