SQL Server 中的表变量像表一样存储一组记录。表变量是临时表的最佳替代品。与局部变量一样,此变量的作用域仅限于用户定义函数或存储过程。
与临时表相比,表变量速度非常快,建议用于少量数据。表变量的语法类似于 Create 语句。
DECLARE @Name TABLE
(
Column_Name1 Data_Type(Size) [NULL | NOT NULL],
Column_Name2 Data_Type(Size) [NULL | NOT NULL],
…
Column_NameN Data_Type(Size) [NULL | NOT NULL]
);
创建 SQL Server 表变量示例
让我们看看如何在服务器中创建表变量,如何向其中插入新记录,以及如何从中选择记录。
提示:您不能将其用作输入或输出参数。
DECLARE @Records TABLE
(
[CustomerKey] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
[BirthDate] [date] NULL,
[EmailAddress] [nvarchar](50) NULL,
[Yearly Income] [money] NULL,
[Profession] [nvarchar](100) NULL
)
-- Inserting Values
INSERT INTO @Records
VALUES ('Imran', 'Khan', '10-08-1985', 'abc@abc.com', 15900, 'Skilled Professional')
,('Doe', 'Lara', '10-08-1985', 'xyz@abc.com', 15000, 'Management')
,('Ramesh', 'Kumar', '10-08-1985', 'mnop@abc.com', 65000, 'Professional')
-- Selecting Values
SELECT * FROM @Records

我们将所有语句一起执行。让我向您展示当我们独立运行它们时会发生什么。
声明此项不会有任何问题!

输出

注意:您不需要任何DELETE或 DROP 语句来删除它。当它超出作用域时,数据库引擎将自动删除它。
希望您了解了它的作用域。请参阅临时表、用户定义函数、存储过程和创建表。
评论已关闭。