【发布时间】:2020-10-09 12:15:32
【问题描述】:
@set test10 = 5
select ${test10}
如果我在 dbeaver 中运行它,它会给我 5。但是,如果我更改为 7,如果我同时选择两条线,它就不起作用。这是什么玩笑?
实际设置如上截图。
正如 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