DBeaver如何在SQL脚本中存储匿名SQL参数绑定值
DBeaver 21.3.3 匿名
?占位符参数预绑定方案 DBeaver中JDBC标准的?匿名参数是按位置顺序匹配的,本身没有唯一标识,无法直接通过类似@set的脚本内定义语法直接赋值,要避免每次执行弹出绑定框手动输入,可选择以下两种实现方式:
- 方案1:替换为命名变量(推荐,参数值直接存储在SQL脚本中)
这是最稳定的实现方式,和你当前已配置的SQL参数规则完全兼容。直接将语句中的?替换为命名变量引用,在脚本头部用@set定义对应值即可,脚本保存后下次打开执行不需要手动输入任何内容,示例:
-- 脚本头部预定义变量值 @set target_col_val = 'query_condition_value' -- 原?替换为:变量名的引用形式 select * from mytable where col = :target_col_val
- 方案2:保留
?占位符,复用本地存储的绑定记录
如果需要保留?写法兼容其他SQL客户端工具,第一次执行弹出「Bind parameters」对话框时,输入对应参数值后勾选对话框底部的「Remember parameters」选项,DBeaver会按照当前SQL的结构哈希在本地工作区缓存绑定值,后续执行结构完全一致的SQL时会自动填充已保存的值,不会弹出输入框。注意:该方案的参数值保存在DBeaver本地配置中,不会写入SQL脚本文件。如果将脚本拷贝到其他设备运行、修改了SQL语句结构、调整了
?的顺序或数量,之前保存的绑定值会失效,需要重新输入保存。
内容的提问来源于stack exchange,提问作者folow
相关产品推荐
相关产品推荐

