是否可以在DBeaver SQL语句中添加“ if”来测试当前连接(Oracle,SQLServer等)?

时间:2019-09-17 19:07:38

标签: dbeaver

我正在使用git extension配置DBeaver存储库,并制作一些脚本与我的团队共享。但是我们使用多种数据库类型,例如Oracle,SQL Server和DB2。我不想将相同的脚本制作3次,每次都针对不同的数据库,因为某些功能是特定于数据库的。

是否有一些技巧可以做到这一点,而不必对数据库功能重复脚本?像SQL Dialect Abstraction of Firedac一样。

1 个答案:

答案 0 :(得分:0)

据我所知,DBeaver没有指定当前数据库的环境变量。

您可以使用一些技巧;在每个数据库中创建1个字段自定义表,并用数据库类型(自定义值)的单个记录填充该表,然后使用SQL CASE STATEMENT选择每次运行的SQL命令。

@EDIT

我在DB configuration -> Connection settings -> Shell Commands中找到了 环境变量列表,我不知道如何使用它们,但请看一下:

${host} - target host
${port} - target port
${server}   - target server name
${database} - target database
${user} - user name
${password} - password (plain)
${url}  - JDBC URL
${workspace}    - workspace path
${home} - user home path
${dbeaver_home} - application install path
${application.name} - application name
${application.version}  - application version
${local.ip} - local IP address