在“结果”窗格中处理数据(Visual Database Tools)

适用于:SQL Server

运行查询或视图后,结果将显示在“结果”窗格中。 然后,可以使用这些结果。 例如,可以添加和删除行、输入或更改数据,并轻松浏览大型结果集。

以下信息可帮助你避免问题并有效地处理结果集。

返回结果集

可以从查询或视图返回结果,并且可以选择是只打开结果窗格还是所有窗格。 在任一情况下,查询或视图将在查询和视图设计器中打开。 区别在于,一个打开时只显示“结果”窗格,另一个打开时会打开“选项”对话框中选中的所有窗口。 默认值为所有四个窗格(结果、SQL、关系图和条件)。

有关详细信息,请参阅“打开查询”(Visual Database Tools)。

若要更改查询或视图的设计,以便返回不同的结果集或以不同的顺序返回记录,请参阅 设计查询和查看作方法文章(Visual Database Tools)中列出的主题。

还可以确定是以两种方式返回结果集的全部或部分,即在查询运行时停止查询,还是选择要在运行查询之前返回的结果量。

可以使用“结果”窗格底部的导航栏快速浏览记录。

有用于转到第一条和最后一条记录、下一条记录和上一条记录以及转到特定记录的按钮。

若要转到特定记录,请在导航栏中的文本框中键入行数,然后按 Enter。

有关在查询和视图设计器中使用键盘快捷方式的信息,请参阅 在查询和视图设计器(Visual Database Tools)中导航。

提交对数据库的更改

“结果”窗格使用乐观并发控制,因此网格显示的是数据库中的数据副本,而不是完全即时更新的视图。 这样,更改将仅在移动离开某一行后提交到数据库。 这允许多个用户同时处理数据库。 如果存在冲突(例如,如果其他用户更改了同一行,并在执行之前将其提交到数据库),则会收到一条消息,告知你冲突并提供解决方法。

使用 ESC 撤消更改

如果尚未提交到数据库,则只能撤消更改。 如果尚未移出记录,或者一旦离开记录,则不会提交数据,则会收到一条错误消息,指示未提交更改。 如果尚未提交更改,可以按 ESC 键撤消该更改。

若要撤消行中的所有更改,请移动到尚未编辑的该行中的单元格,然后按 ESC 键。

若要撤消对已编辑的特定单元格的更改,请移动到该单元格,按 ESC 键。

在数据库中添加或删除数据

若要查看数据库设计的工作原理,可能需要向数据库添加示例数据。 可以直接将其输入到结果窗格中,也可以从其他程序(如记事本或 Excel)复制它,然后将其粘贴到结果窗格中。

除了将行复制到“结果”窗格中,还可以添加新记录或修改或删除现有记录。 有关详细信息,请参阅“结果”窗格中的“添加新行”(Visual Database Tools),“结果”窗格中的“删除行”(Visual Database Tools)“结果”窗格中的“编辑行”(Visual Database Tools)。

使用 NULL 值和空单元格的提示

选择空行以添加新记录时,所有列 NULL的初始值为 。 如果列允许 null 值,则可以按原样保留它。

如果要将非 null 值替换为 null,请键入 NULL 大写字母。 “结果”窗格提供斜体格式,以指示将其识别为 null 值,而不是字符串。

若要键入字符串“null”,请键入不带引号的字母。 只要至少有一个字母采用小写形式,该值就被视为字符串而不是 null 值。

默认情况下,具有二进制数据类型的列的值具有 NULL 值。 无法在“结果”窗格中更改这些值。

若要输入空格而不是使用 null,请删除现有文本并离开当前单元格。

验证数据

查询和视图设计器可以针对列属性验证某些类型的数据。 例如,如果将“abc”输入到具有浮点数据类型的列中,则会收到错误,并且更改未提交到数据库。

在“结果”窗格中查看列的数据类型的最快方法是打开“关系图”窗格,并将鼠标悬停在表或表值对象中列的名称上。

注意

“结果”窗格可为文本数据类型显示的最大长度为 2,147,483,647。

使结果集与查询定义保持同步

在处理查询或查看结果时,结果窗格中的记录可能会与查询定义保持同步。 例如,如果对表中五列中的四列运行查询,然后使用“关系图”窗格将第五列添加到查询的定义中,则第五列的数据不会自动添加到结果窗格中。 若要使结果窗格反映新的查询定义,请再次运行查询。

可以判断这是否发生-警报图标和文本“查询已更改”显示在结果窗格的右下角,该图标在窗格的左上角重复。

协调多个用户所做的更改

在处理查询或视图的结果时,其他使用数据库的用户可能会更改记录。

如果发生这种情况,则一旦离开冲突的单元格,你就会收到通知。 然后,可以重写其他用户的更改、使用其他用户的更改更新结果窗格,或继续编辑结果窗格而不协调差异。 如果选择不协调差异,则所做的更改不会提交到数据库。

“结果”窗格中的限制

无法更新的内容

这些提示可能有助于你在“结果”窗格中成功处理数据。

  • 无法更新包含来自多个表或视图的列的查询。

  • 视图只有在数据库约束允许的情况下才能更新。

  • 存储过程返回的结果无法更新。

  • 使用 GROUP BYDISTINCTTO XML 子句的查询或视图不可更新。

  • 表值函数返回的结果只能在某些情况下更新。

  • 查询中表达式生成的列中的数据。

  • 供应商未成功翻译的数据。

无法完全表示的内容

从数据库返回到“结果”窗格的内容在很大程度上由所使用的数据源的提供程序控制。 “结果”窗格不能始终转换来自所有数据库管理系统的数据。 以下是这种情况。

  • 二进制数据类型通常不适用于在“结果”窗格中工作的人员,并且可能需要很长时间才能下载。 因此,它们由 <二进制数据>Null表示。

  • 精度和小数位数不能始终保留。 例如,“结果”窗格支持精度为 27。 如果数据是具有更高精度的数据类型,则数据可能会被截断,或者可能由 <无法读取数据>来表示。