在 SQL 服务器中创建的 Table 变量在哪里?

Where is a Table Variable created in SQL Server?

我想知道在计算机中创建的 table 变量在哪里?

假设我在 SQL 服务器中将一个 table 变量声明为 @emp,有人可以帮助理解在哪里创建了一个 table 变量吗?

table 变量是在 tempdb 中创建的。参考 https://docs.microsoft.com/en-us/sql/relational-databases/databases/tempdb-database?view=sql-server-2017

tempdb 存储在磁盘上,您可以通过右键单击

查看文件位置
[yourserver] > Databases > System Databases > tempdb

在属性 window 中,您可以在 Files 选项卡中找到物理文件位置。

Table 变量 是存储一组记录的临时 table 的替代方法。

Table变量(@emp)在内存中创建。然而,在 tempdb 数据库 中创建了一个 Temporary table (#temp)。 注意:- 如果存在内存压力,属于 table 变量的页面可能会被推送到 tempdb.

table变量的语法如下所示:

Declare @emp Table
(
            [EmpID] [int] NULL,
            [EmpName] [varchar](30) NULL,
)

正在向 table 变量中插入一个值:

Declare @emp Table
(
            [EmpID] [int] NULL,
            [EmpName] [varchar](30) NULL,

)

INSERT INTO @emp (EmpID, EmpName) values (1, 'Rohatash')

Select * from @emp