【问题标题】:Dbeaver with sql server how to set multiple variables in one run?Dbeaver 与 sql server 如何在一次运行中设置多个变量?
【发布时间】:2020-10-09 12:15:32
【问题描述】:
@set test10 = 5
select ${test10}

如果我在 dbeaver 中运行它,它会给我 5。但是,如果我更改为 7,如果我同时选择两条线,它就不起作用。这是什么玩笑?

我还阅读了有关更改 Dbeaver 设置的信息:

实际设置如上截图。

正如 larnu 所说,我将查询更改为以下内容:

DECLARE @test1 int, @test2 int;
SET @test1 = 11;
SET @test2 = 22;
SELECT @test1, @test2;

现在每次我运行查询时都会提示一个窗口:

我在这里错过了什么?

如果我想在查询顶部定义 2 个变量,则行为相同:

@set test10 = 7
@set test11 = 8
select ${test10}, ${test11}

它只有在我运行第 1 行然后运行第 2 行时才有效,之后我终于可以看到运行第 3 行所做的更改。

到目前为止,我只在文档和堆栈溢出中找到了解释的拆分部分

【问题讨论】:

  • 确定您使用的是 SQL Server 吗?这不是有效的 T-SQL,DBeaver 只是一个 IDE。在 T-SQL 中,变量以DECLARE 创建,名称以@ 开头。例如DECLARE @V1 int, @V2 varchar(2); SET @V1 = 1; SET @V2 = 'AB';
  • 那么我将如何选择这些变量?我用 Select '@V2', '@V1' 试过了,它没有给我任何结果,但出现了语法错误。是的,它是 SQL Server。感谢到目前为止。 Whiteout the ' 但否则堆栈会认为我想在我的帖子中提及一个人
  • SELECT @V1; 将为您提供@V1 的值。 db<>fiddle
  • 所以我在玩你的输入并且知道我总是得到一个弹出窗口,我需要按忽略。有没有机会摆脱它?还是我还缺少什么?我确实更新了我上面的问题并添加了截图
  • 我对 DBeaver 不够熟悉,无法就此提供建议;我坚持为 SQL Server 使用 SSMS 和 ADS。

标签: sql-server variables dbeaver


【解决方案1】:

使用执行 SQL 脚本 (Alt+X) 命令处理多个语句。

@set test1 = 'Foo' 
@set test2 = 'Bar'
select :test1, :test2

在此解释:https://github.com/dbeaver/dbeaver/issues/2244#issuecomment-333441954

【讨论】:

    猜你喜欢
    • 2022-09-28
    • 1970-01-01
    • 2021-10-05
    • 2011-11-03
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 2016-09-13
    • 2016-04-04
    相关资源
    最近更新 更多