有关使用用户参数的更多信息,请参考 运行查询相关章节主题。

项目 | 描述 |
|---|
在查询控制台和SQL 文件中启用 | 将参数模式应用于 SQL 文件和 查询控制台 中的 SQL。 您可以在 单个模式 的级别限制使用范围。 如果清除此复选框,则无论单个模式指定的使用范围如何,这些模式都不会在 SQL 文件和控制台中使用。 |
使用SQL 注入在字符串字面量中启用 | 将参数模式应用于 注入 SQL 的字符串文字。 如有必要,您可以在 单个模式的层级限制使用范围。 如果这个复选框被清除,则无论为各个模式指定的使用范围如何,这些模式都不会在字符串字面量中使用。 |
在SQL 字符串中替换 | 将参数模式应用于 SQL 代码中的字符串字面量。 例如,考虑以下代码。 SELECT ${column_name}
FROM actor
WHERE actor_id='${actor_id}'
如果取消选中复选框,DataGrip 只会在其中找到 column_name 参数。 该 actor_id 参数被视为字符串。 但是如果您选择了 在SQL 字符串中替换 选项, actor_id 参数将被视为用户参数。 |
形参模式 | 参数模式及其使用范围列表。 模式是用正则表达式指定的。 位于括号中的值 () 被视为参数名称。 最初提供的模式有以下含义: \?(\d+) — 一个问号后跟一个或多个数字,例如, ?69 ,在这种情况下, 69 将是参数名称。
%\w+ - % 后跟一个或多个单词字符,例如 %xyz。
\$\{([^$\{\}]*)\} - $ ,然后 { ,然后除 $、 { 或 } 外的任意字符零次或多次,然后 } ,例如, ${}、 ${value}。
\$\(([^\)]+)\) - $ ,然后 ( ,然后任意字符(除 ) 外)一次或多次,然后 ) ,例如,$(x)。
\$(\w+)\$ - $ ,然后一个或多个单词字符,然后再次 $ ,例如 $x1$。
\#(\w+)\# - # ,然后一个或多个单词字符,然后再次 # ,例如 #field_3#。
(?<=\W|\A)\$(\d+|[a-zA-Z_](?:\w|\.)*)\$?(?=\W|\z) - 各种以 $ 开头的序列,并对这些序列前后符号的条件进行了附加限制。 例如, $ACCESS 如果前面有空格,则匹配模式,但 V$ACCESS 不匹配。 在 Oracle 中,有些系统视图的名称以 V$ 开头,这些视图应被过滤掉。
(?<=\W|\A)#(\d+|[a-zA-Z_](?:\w|\.)*)#?(?=\W|\z) - 类似于前一个模式,但适用于以 # 开头的序列。
有关参数命名行为的更多信息,请参阅 命名行为。 使用 Alt+Insert、 Alt+Delete、 Alt+Up 和 Alt+Down 来添加、删除和重新排序模式。 要编辑模式或其适用范围,请点击该模式并使用以下控件: 在脚本中 :如果不应在 SQL 文件和 查询控制台 中使用该模式,请清除此复选框。 在字面量中 :如果模式不应在注入 SQL 的字符串文字中使用,请取消选中此复选框。 所有语言 :点击链接并清除您不想使用该模式的语言复选框。
|
最后修改日期: 2025年 9月 26日