SQL Server 中,怎么创建和写入临时表?
在 SQL Server 中,你可以使用多种方法创建和写入临时表。临时表在会话期间存在,并在会话结束时或显式删除时消失。这使得它们成为存储临时结果或中间数据的理想选择。
以下是创建和写入临时表的基本步骤:
- 创建局部临时表(以
#
开头):
sql复制代码-- 创建一个局部临时表 CREATE TABLE #TempTable ( ID INT, Name NVARCHAR(50), Age INT ); -- 写入数据 INSERT INTO #TempTable (ID, Name, Age) VALUES (1, 'Alice', 30), (2, 'Bob', 25); -- 查询数据 SELECT * FROM #TempTable; -- 在会话结束时,#TempTable 会自动删除
- 创建全局临时表(以
##
开头):
全局临时表在所有会话中都是可见的,但也会在最后一个引用它的会话结束时删除。
sql复制代码-- 创建一个全局临时表 CREATE TABLE ##GlobalTempTable ( ID INT, Name NVARCHAR(50), Age INT ); -- 写入数据 INSERT INTO ##GlobalTempTable (ID, Name, Age) VALUES (1, 'Charlie', 35), (2, 'David', 40); -- 查询数据 SELECT * FROM ##GlobalTempTable; -- 当最后一个引用它的会话结束时,##GlobalTempTable 会自动删除
- 使用
SELECT INTO
创建和填充临时表:
你也可以使用 SELECT INTO
语句直接从查询结果中创建和填充临时表。
sql复制代码-- 从另一个表选择数据并创建和填充局部临时表 SELECT * INTO #TempFromAnotherTable FROM SomeOtherTable WHERE SomeCondition = 'SomeValue'; -- 查询数据 SELECT * FROM #TempFromAnotherTable;
- 注意:
- 临时表在存储过程中特别有用,因为它们允许你在会话的多个部分之间传递数据,而无需将数据返回给客户端并在后续调用中重新发送。
- 临时表通常比表变量更快,特别是当处理大量数据时。但是,表变量在存储过程中提供了更好的封装和隔离。
- 在使用全局临时表时要特别小心,因为它们可能导致意外的资源争用和锁定问题。
微信扫描下方的二维码阅读本文
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途,请遵循相关法律法规,如有侵权、后门、不妥、提供材料联系本站1424898602@qq.com删除,敬请谅解!
THE END
二维码
共有 0 条评论