运行查询
启用 Database Tools and SQL 插件
此功能依赖于 Database Tools and SQL 插件,该插件在 JetBrains Rider 中默认捆绑并启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Database Tools and SQL插件,然后选择插件名称旁边的复选框。
您可以通过使用快捷键、工具栏按钮和图标、上下文菜单以及 运行/调试配置来运行您的代码。 您可以从 query console、 临时文件 和 用户文件 运行查询。
有关在哪里以及如何查看查询结果的更多信息,请参阅 查询结果。
运行语句和过程
在查询控制台中运行语句
您可以将 query console 视为一个终端,您可以在其中输入并运行代码。
在 数据库 工具窗口中,点击数据源。
按 F4 打开一个 query console。 有关使用控制台的更多信息,请参阅 使用控制台。
请输入您想要执行的语句。
请点击
执行(X) 工具栏。 或者按 Ctrl+Enter。
如果您有多个语句,请选择是要执行所有语句还是单个语句。 建议列表总是包含运行所有语句的选项。

从打开的文件运行语句
在 JetBrains Rider 中,您可以打开并运行文件。 文件大小限制为 20 MB。 当您打开一个大于 20 MB 的文件时,您只能看到文件的前 2.5 MB。 该文件应与 SQL 文件类型相关联。 有关文件类型关联的更多信息,请参阅 文件类型关联主题。
打开 资源管理器 工具窗口( ),然后双击一个 SQL 文件。
有关在 JetBrains Rider 中附加目录和文件的更多信息,请参阅 用户文件。
点击您要执行的语句。
此外,您可以选择(高亮显示)要执行的代码片段。 它可以是一个子查询或一组语句。 JetBrains Rider 仅执行所选内容。
点击工具栏上的 执行(X) 按钮 (
)。 或者按 Ctrl+Enter。
若要自定义查询执行设置,请点击 自定义 链接。 或者,按下 Ctrl+Alt+S 打开设置,然后导航至 。 。
(可选)如果 SQL 文件未连接到数据源,请在 <data source> 列表中选择您想连接的数据源。
有关将 SQL 文件附加到数据源的更多信息,请参阅 数据源附件。
在 语句 窗口中,按下 Enter 以运行选定的语句。 您可以切换到其他条目以运行另一组语句。 待执行的语句在查询编辑器中高亮显示。
如需运行脚本文件的另一个示例,请参阅 youtube.com 上的以下视频。
运行存储过程
存储过程是一组具有指定名称的 SQL 语句。 您可以在 PostgreSQL、Microsoft SQL Server、Oracle 和 MySQL 中执行存储过程。
运行 SELECT 语句并将结果保存到文件中
(可选)如果文件没有连接到数据源,请从工具栏上的数据源列表中选择一个数据源。 然后从 会话 列表中选择连接会话。
如需了解有关连接会话的更多信息,请参阅 会话。
右键点击
选择语句。请选择 执行到文件 并选择输出格式。
在 导出数据 对话框中,指定您要使用的 extractor 和其他设置。
有关 导出数据 对话框的更多信息,请参阅 导出数据 主题。

取消运行语句
要取消正在执行的语句,请点击工具栏上的
取消正在运行的语句。
或者,将鼠标悬停在装订区域的进度指示器上,然后点击替换进度图标的
取消正在运行的语句。
如果您点击 取消正在运行的语句 按钮两次,JetBrains Rider会显示一个警告,您可以终止远程进程或稍等片刻。 显示此警告是为了确保安全,因为停用可能会对某些同时发生的进程造成潜在危险。
此外,IDE 会在空闲取消 10 秒后显示警告。
取消连接
您不仅可以中断请求的执行,还可以中断连接的创建。 这对于 console 中的首次查询尤其重要,该查询还会创建一个连接。
您可以停止创建连接的过程。 要做到这一点,请在创建连接时点击工具栏上的 取消正在运行的语句 按钮()。 连接将会停止,并且您将看到 连接已取消 消息。
解决模式
为了运行 SQL 脚本,将数据库对象的用法视为链接,并为您提供正确的代码补全,JetBrains Rider 必须将代码中的数据库对象解析到某个特定的上下文。 默认情况下,IDE 使用以下之一作为解析数据库对象的起点: <schema> 选择器,或默认数据库(如果未设置上述任何一项)。
根据您的代码是单个脚本还是包含多个不相关的 SQL 语句,请选择以下一种解析模式,以正确解析数据库对象:
Playground :query console 的默认模式。 所有数据库对象都解析到相同的上下文。
如果您的代码是一组不打算作为单个脚本运行的独立 SQL 语句,请使用此模式。
脚本 :本地 SQL 文件的默认模式。
USESQL 语句(适用于 PostgreSQL 的SET search_path TO)会覆盖默认上下文以解析数据库对象。如果您的代码旨在作为单个脚本运行,请使用此模式。
在下面的视频中, 公开 架构被选为 query console 的默认架构。 模式包含 从 表,而 information_schema 模式没有包含它。 当解析模式为 Playground 时,数据库对象在两个 选择 语句中解析为默认架构,因为所有语句被认为是无关的。
一旦解析模式更改为 脚本 ,第二个 选择 语句将被视为与 SET search_path TO information_schema 语句相关。 该 从 表在该语句中不再解析。
用户参数
根据数据库供应商,问号 ? 在 SQL 语句中被视为参数。 您可以在 工具 | 数据库 | 查询执行 | 用户参数 设置页面  Ctrl+Alt+S 中指定其他字符及其序列应在何处被视为参数。
SQL 参数的模式通过使用正则表达式指定。
运行参数化语句
如果您的语句中有参数,JetBrains Rider 会在您执行语句之前提示您指定参数的值。
要执行参数化语句,请点击工具栏上的 执行 按钮 (
),并在第二列中输入值。 或者,若要打开 形参 对话框,请点击 查看形参 按钮(
)。

命名行为
在 JetBrains Rider 中,您可以使用 位置和 命名用户参数。 对于位置用户参数,每次出现都会根据其顺序单独处理。 对于命名用户参数,所有具有相同名称的出现都被视为同一个参数。
要使用命名参数,请按 Ctrl+Alt+S 打开设置,并导航到 。 在 参数模式 窗格中,将 () 添加到您的用户参数模式中。 IDE 将 () 的内容视为参数名称,并在运行脚本时仅请求一个值。 否则,如果在脚本中多次使用相同的参数,IDE 会根据参数的顺序请求多个值。
请查看以下示例:
\?\w+:位置用户参数模式。?x参数被视为两个不同的用户参数。 值的请求取决于参数的顺序。
\?(\w+):命名用户参数模式。 两个?x被视为同一个用户参数,其中x是参数名称。
有关参数模式的更多信息,请参阅 用户参数参考主题。
示例
将数组作为参数
在 JetBrains Rider 中,用值替换参数是直截了当的。 要使用数组作为值,请在相应字段中指定您的数组。
在下面的示例中,参数 ? 可以替换为值 206, 'John', 'Smith':

有关参数的更多信息,请参阅数据库文档。
参数模式
如果您的脚本中有特定参数语法的参数,请使用正则表达式指定模式。
对于以下示例,必须在 工具 | 数据库 | 查询执行 | 用户参数 设置页面  Ctrl+Alt+S 中设置 %{2}(\w+_\d+) 模式:

预览表结构
在 IDE 代码编辑器中,您可以使用 快速文档 功能预览 SQL 语句中表的结构。
要预览 SQL 语句中的表结构,请选择表并按 Ctrl+Q。
快速文档 弹出窗口中包含 创建 DDL 脚本及其他有关该表的信息。
有关此功能的更多信息,请参阅 快速文档。

查看已执行语句历史
使用“查询历史”对话框
JetBrains Rider 会存储您在 query console 中运行的所有语句的历史记录。
要打开 查询历史 对话框,请点击工具栏上的 浏览查询历史记录 按钮(
),或按 Ctrl+Alt+E。
在 查询历史 对话框中,您可以执行以下操作:
要筛选信息,请开始输入您的搜索查询。
要将 查询历史 对话框中的查询粘贴到 console,请在 查询历史 对话框的左侧窗格中双击该查询。
要从历史记录中删除记录,请选择该记录并按下 Delete。

查看结果
通常,当您运行查询时,会以表格格式接收结果。 JetBrains Rider 会在 数据编辑器中显示结果。 默认情况下,对于每个语句,带有结果的数据编辑器会显示在 服务 工具窗口的单独选项卡中。
有关查看查询结果的更多信息,请参阅 查询结果。

