如何在SQL Server中创建临时表

如何在SQL Server中创建临时表,第1张

正如其名称所示,临时用于临时存储数据,它们可以执行CRUD(创建、读取、更新和删除)、连接和一些其他操作,如持久数据库表。当创建表的会话关闭时,将删除临时表,或者用户也可以显式删除临时表。同时,临时表可以在许多方面与物理表类似,这给了我们更多的灵活性。例如,我们可以在这些表中创建约束、索引或统计信息。SQL Server根据其范围提供了两种类型的临时表:本地临时表和全局临时表。以下是在SQL Server中创建临时表的两种方法:一、SELECT INTO
SELECT column_1, column_2, column_3,... INTO #name_of_temp_tableFROM table_nameWHERE condition
以下是示例产品数据:
如何在SQL Server中创建临时表,第2张现在利用 SELECT INTO 来创建临时表#products_temp_table
SELECT product_id, product_name, price INTO #products_temp_tableFROM productsWHERE price   300
运行查询后,你会注意到有3行受到影响:如何在SQL Server中创建临时表,第3张你可以通过运行以下SELECT查询来检查临时表的内容:
SELECT * FROM #products_temp_table

如你所见,表中当前有3行价格大于300:如何在SQL Server中创建临时表,第4张可以使用drop table删除临时表:
DROP TABLE #products_temp_table
删除表后,尝试再次运行SELECT查询:
SELECT * FROM #products_temp_table
请注意,该表已不存在:如何在SQL Server中创建临时表,第5张二、CREATE TABLE
CREATE TABLE #name_of_temp_table (column_1 datatype,column_2 datatype,column_3 datatype,..
column_n datatype)
注意,在此方法下创建表后,需要使用insert into查询将记录插入表中:
INSERT INTO #name_of_temp_table (column_1, column_2, column_3,...) SELECT column_1, column_2, column_3,...FROM table_nameWHERE condition

让我们使用第二种CREATE TABLE方法重新创建临时表:
CREATE TABLE #products_temp_table ( product_id int primary key, product_name nvarchar(50), price int)
创建临时表后,需要使用insert into查询将记录插入表中:
INSERT INTO #products_temp_table (product_id, product_name, price) SELECT product_id, product_name, priceFROM productsWHERE price 300
你将注意到3条记录受到影响:如何在SQL Server中创建临时表,第6张重新运行SELECT查询以检查表的内容:
SELECT * FROM #products_temp_table
如你所见,有3条记录的价格高于300:如何在SQL Server中创建临时表,第4张要删除表格,请使用:
DROP TABLE #products_temp_table

在这两种方法中,必须在临时表名称之前包含哈希符号(#)。你可以使用drop table查询删除临时表(或者只需关闭用于创建临时表的连接):
DROP TABLE #name_of_temp_table
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 如何在SQL Server中创建临时表

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情