4

我正在尝试使用类似于我习惯使用 Jupyter Notebooks 来记录我使用的一些标准查询的 SQL Notebooks。但是,当我在一个单元格中声明表变量时,无法在新单元格中访问该值。我这样做是为了注释每个单元格以解释我为什么要执行这些操作。这是 SQL Notebooks 的限制吗?或者有没有我遗漏的声明?

Azure Data Studio 的错误截图

4

1 回答 1

1

有一种解决方法是使用 SQL 本身和 Session Context 在块之间声明变量。

见这里: https ://www.ericgharrison.com/?p=418

使用 Session Context 设置,我们可以使用 sp_set_session_context 存储值……</p>

EXEC sp_set_session_context 'StartDate','11/01/2020' EXEC sp_set_session_context 'EndDate','11/01/2020 23:59:59.99'

…然后在另一个代码块中检索和使用它们:

DECLARE @StartDate DATETIME DECLARE @EndDate DATETIME SELECT @StartDate = CAST(SESSION_CONTEXT(N'StartDate') AS DATETIME) SELECT @EndDate = CAST(SESSION_CONTEXT(N'EndDate') AS DATETIME)

于 2021-08-03T06:28:12.230 回答