# SQL 解析作用域

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `语言 & 框架 | SQL 解析范围` 。

通过使用 SQL 解析作用域，可以将文件夹或文件与特定数据源关联。 当您设置此映射时，您可以使用与关联数据源相对应的编码辅助功能。

设置 SQL 解析作用域后，IDE 会建议适用于关联数据源的数据库对象。 考虑到您有两个数据源，一个用于您的生产数据库（PostgreSQL 14），另一个用于您的测试数据库（PostgreSQL 12.8）。 两者数据库中的表具有相同的名称，但数据库的结构不同。 您可以分别将 SQL 文件与任一数据库关联。

让我们将  `postgresql_12.sql`  映射到  `PostgreSQL 12.8`  数据源，并将  `postgresql_14.sql`  映射到  `PostgreSQL 14` 。

![SQL 解析作用域](https://resources.jetbrains.com/help/img/idea/2026.3/sql_resolution_scopes.png)

两个数据源都具有  `actor`  表，但这个表存储在不同的模式中（  `guest.public.actor`  和  `postgres.public.actor` ）。 所以，如果我们尝试限定  `actor`  表或使用代码补全，补全建议将与相应的数据源关联。

![完成列表中的建议](https://resources.jetbrains.com/help/img/idea/2026.3/suggestions_in_the_completion_list.png)

如果我们在这些文件之间交换查询，将会得到错误（第 14-15 行）。 由于我们在  `PostgreSQL 14` 中  `guest.public` 下没有表格，并且在  ``PostgreSQL 12.8``  中也没有  `postgres`  架构。

Procedure: 添加 SQL 解析范围

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `语言 & 框架 | SQL 解析范围` 。

2. 点击   添加   按钮。

3. 在文件浏览器中，导航到您要与数据源关联的文件或目录。

4. 点击   打开  。

5. 点击   解析作用域   列的单元格，然后选择 您 想要与此目录或文件关联的数据源。

要在您的项目代码中使用 SQL 编码辅助功能，请启用 [language injections](using-language-injections.html)。

![SQL 解析作用域](https://resources.jetbrains.com/help/img/idea/2026.3/sql_resolution_scopes.png)

## 设置

|  条目  |  描述  |
| --- | --- |
|    项目映射    |     一组数据源、数据库和架构，供项目中的所有 SQL 文件默认使用，以解析数据库对象的未限定名称。       如果下表中未设置映射，则文件和目录使用项目映射。     |
|    路径    |  要与数据源或一组数据源关联的文件或目录的路径。  |
|    解析作用域    |     一个将与文件或目录关联的数据源或一组数据源。       如果您为已关联到数据源的目录添加映射，IDE 将显示通知对话框。 在此对话框中，必须选择子项是继承父项的作用域，还是保留自己的作用域。     |

