SQL Server 向临时表插入数据示例

什么是临时表

在 SQL Server 中,临时表指的是一个临时性的表格,它与其他表格不同,它存在于内存中,只在当前会话中存在,关闭会话时表格自动消失。临时表格很适合处理临时性质的需求,并且使用方便。

与普通的表格相同,临时表格也可以进行数据插入、修改、删除和查询等操作。接下来,本文将详细介绍在 SQL Server 中向临时表格中插入数据的方法。

创建临时表

在SQL Server中,创建临时表格的语法是:

CREATE TABLE #TempTable (Col1 INT, Col2 VARCHAR(50))

其中 #TempTable 是一个以 # 开头的表格名称,表示这个表格是一个临时表格。

我们可以通过以下语法来查看临时表格是否创建成功:

SELECT * FROM tempdb..sysobjects WHERE name LIKE '#TempTable%'

如果成功创建,会在查询结果中看到以 #TempTable 开头的表格信息。

向临时表插入数据

方法一:使用 SELECT INTO 语句

使用 SELECT INTO 语句可以将已存在的表格的数据插入到新创建的临时表中。语法如下:

SELECT Col1, Col2 INTO #TempTable FROM ExistingTable

其中 ExistingTable 是已经存在的表格,#TempTable 是要创建的临时表格。

方法二:使用 INSERT INTO 语句

除了使用 SELECT INTO 语句插入数据到临时表,我们还可以使用 INSERT INTO 语句将数据逐行插入。

INSERT INTO #TempTable (Col1, Col2) VALUES (1, 'John'), (2, 'Mike'), (3, 'Tom')

以上语句将在临时表 #TempTable 中插入3行数据,分别是 (1, 'John'),(2, 'Mike'),(3, 'Tom')。

在使用 INSERT INTO 语句插入数据到临时表时,可以使用其他表格作为数据源,例如:

INSERT INTO #TempTable (Col1, Col2)

SELECT Col1, Col2 FROM ExistingTable WHERE Col1 > 3

以上语句将在临时表 #TempTable 中插入 ExistingTable 表格中 Col1 大于3的行。

使用示例

下面通过示例演示如何向临时表中插入数据。

首先,我们创建一个临时表 #Sales

CREATE TABLE #Sales (Product VARCHAR(50), SalesMoney FLOAT)

然后,我们使用 INSERT INTO 语句将数据插入到临时表中:

INSERT INTO #Sales (Product, SalesMoney) VALUES ('ProductA', 1000), ('ProductB', 2000), ('ProductC', 3000)

使用 SELECT 语句查询临时表中的数据:

SELECT * FROM #Sales

查询结果如下:

Product SalesMoney
ProductA 1000
ProductB 2000
ProductC 3000

总结

本文介绍了在 SQL Server 中创建临时表的语法,以及向临时表中插入数据的两种方法:使用 SELECT INTO 语句和使用 INSERT INTO 语句。通过以上的示例可以看到,使用临时表能够很方便地处理临时性质的需求,提高了数据处理的效率。

数据库标签