You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DBeaver执行多SELECT脚本仅导出首个结果,求解决办法

问题背景

环境信息

  • DBeaver版本: 23.2.4.202311051706
  • 数据库: Informix
  • 操作系统: Windows 10

问题说明

我有一个包含多条SELECT语句的脚本文件,希望导出所有语句的执行结果,示例脚本如下:

-- Script parameters/variables
@set my_number = 1800003835

-- export command 
@export { "type": sql, "producer": { }, "consumer": { "outputFolder":"d:/temp/dbeaver/exports", "appendToFile":"true", "useSingleFile":"true" }, "processor": { "includeAutoGenerated": "true"} }
select 
    *
from 
    table1 
where
    mninum = '${my_number}';

select 
    *
from 
    table2
where
    mninum = '${my_number}';

select 
    *
from 
    table3
where
    mninum = '${my_number}';

点击“执行SQL脚本”按钮后,仅执行并导出第一个查询结果就停止。尝试在其他查询前添加@export命令,仍仅第一个查询执行。请问如何让所有查询都执行并导出结果?


解决方法

1. 切换脚本执行模式

DBeaver默认的“执行SQL脚本”会在返回第一个结果集后暂停,尤其是开启导出时。你需要调整执行模式:

  • 在脚本编辑器顶部工具栏,找到执行模式下拉框(默认显示“执行到第一个结果”),选择**“执行全部脚本”或“执行所有语句”**选项,再重新执行脚本。

2. 调整@export配置并启用批处理

如果模式切换无效,修改导出配置并优化脚本执行环境:

  1. 将@export的type参数改为csv或table(部分数据库对sql类型的多语句导出支持有限),保留追加和单文件设置:
@export { "type": "csv", "producer": { }, "consumer": { "outputFolder":"d:/temp/dbeaver/exports", "appendToFile":"true", "useSingleFile":"true" }, "processor": { "includeAutoGenerated": "true"} }
  1. 在脚本开头添加如下配置,避免中间输出中断执行:
@set echo off
@set autocommit on
@set my_number = 1800003835
  1. 再次以“执行全部脚本”模式运行。

3. 添加明确的语句分隔符

在每个SELECT语句前后添加分号;,强制DBeaver识别所有独立语句:

@set my_number = 1800003835

@export { "type": sql, "producer": { }, "consumer": { "outputFolder":"d:/temp/dbeaver/exports", "appendToFile":"true", "useSingleFile":"true" }, "processor": { "includeAutoGenerated": "true"} }
;
select 
    *
from 
    table1 
where
    mninum = '${my_number}';
;
select 
    *
from 
    table2
where
    mninum = '${my_number}';
;
select 
    *
from 
    table3
where
    mninum = '${my_number}';

执行时选择“执行全部脚本”模式即可。


内容的提问来源于stack exchange,提问作者Joe McCay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:54:58