DBeaver,如何声明变量并使用它们?

问题描述 投票:0回答:6

我只是想知道是否可以在 DBeaver 的 sql 编辑器上声明变量并在查询中使用它们

sql variables dbeaver
6个回答
95
投票

您必须在 DBeaver -> 窗口 -> 首选项 -> 数据库 -> 编辑器 -> SQL 编辑器 -> SQL 处理的“SQL 处理”设置中启用变量处理。

Parameters
上有一个块,其中包含您可以更改的设置。请参阅 wiki 上的动态参数绑定部分。

然后你应该能够做到:

@set date = '2019-10-09'

SELECT ${date}::DATE, ${date}::TIMESTAMP WITHOUT TIME ZONE

产生:

| date       | timestamp           |
|------------|---------------------|
| 2019-10-09 | 2019-10-09 00:00:00 |

24
投票

是的,可以,使用

:

一个例子:

SELECT * FROM "SYSIBM".SYSDUMMY1
WHERE IBMREQD = :YOUR_VARIABLE

5
投票

基于@nicoschl 的非常有用的帖子,这里有一些小的改进:

-- using declarations
@set datex_start = cast('2120-01-01' as date) as date_start;
-- datex_start is the var name
-- casting the value in the declaration saves us the work later
-- the var can be given a default fieldname (e.g. "date_start")

-- run as a standalone command since the subsequent SELECT statement doesn't return values when it's all run together

select 
    ${datex_start}
;

这将返回值“2120-01-01”,字段名称为“date_start”。


5
投票

在 DBeaver SQL 编辑器中,您可以键入以下内容:

-- define variable
@set my_var='hello SQL world'

-- call variable
select :my_var 

您还可以使用

${my_var}
来引用变量;
$my_var
但是对我不起作用。我正在使用 DBeaver v. 21.1.


0
投票

使用开始和结束。它对我有用。示例:

BEGIN
  DECLARE @name VARCHAR(10);
  SET @name = 'My Name';
  SELECT @name AS NAME;
END;

-1
投票

您必须在 Dbeaver 设置中启用: 顶部窗口 > 首选项 > 然后查看下面的打印(2022/08 更新)。

© www.soinside.com 2019 - 2024. All rights reserved.