在 Azure Data Studio (ADS) 中,是否可以在查询之间重用 SQL 参数?不确定我是否跳出了 ADS 的预期目的,但如果我可以在一个代码文本(或任何地方)中声明一组变量并让我的所有查询都理解并利用它们,那就太好了。类似于带有 Python 的 Jupyter 笔记本,您如何在一个代码块中执行全局变量,而所有其他代码块都会尊重这些变量。
一般来说,除了微软官方文档之外,我在 ADS 上找到文档的运气并不好。
在 Azure Data Studio (ADS) 中,是否可以在查询之间重用 SQL 参数?不确定我是否跳出了 ADS 的预期目的,但如果我可以在一个代码文本(或任何地方)中声明一组变量并让我的所有查询都理解并利用它们,那就太好了。类似于带有 Python 的 Jupyter 笔记本,您如何在一个代码块中执行全局变量,而所有其他代码块都会尊重这些变量。
一般来说,除了微软官方文档之外,我在 ADS 上找到文档的运气并不好。
据我所知,没有,因为变量在当前批次的范围内。
一种解决方法是创建一个临时表并插入该值。这真的很恶心,但它确实有效。
在代码单元 #1 中:
CREATE TABLE #variableStorage (varname VARCHAR(100), val VARCHAR(100))
INSERT INTO #variableStorage
VALUES
('SomeVariable', 'Foo')
CREATE TABLE #testing (ID INT, testval VARCHAR(100))
INSERT INTO #testing
VALUES
(100, 'Foo')
在代码单元 #2 中:
SELECT *
from #testing
WHERE testval = (
SELECT val
FROM #variableStorage
WHERE varname = 'SomeVariable'
)
无法在 Transact-SQL 中声明全局变量。所以我们也不能用 ADS 设置全局变量。
在早期版本中:
但是还有另一种方法可以帮助您使用 SSMS SQLCMD 模式将变量设置为全局变量。
可以参考这篇博客:如何在 SQL Server 中声明全局变量..?
希望这可以帮助。