全局临时表是以两个‘##’符号为前缀,并且它对所有会话可见的一种临时表。全局临时表一般用在需要向所有人共享数据的时候使用。下面是一个全局临时表的示例。
-- 全局临时表 IF OBJECT_ID('tempdb.dbo.##Globals','U') IS NOT NULL DROP TABLE dbo.##Globals; GO -- 创建全局临时表 CREATE TABLE dbo.##Globals ( ID INT NOT NULL, VALUE NVARCHAR(50) NOT NULL, CONSTRAINT PK_Globals PRIMARY KEY(ID) ); -- 向全局临时表插入数据 INSERT INTO dbo.##Globals(ID,Value) VALUES(1,'A'); -- 在当前会话中查询刚才创建的全局临时表 SELECT * FROM dbo.##Globals;
查询结果:
为了证明全局临时表对其它会话可见,我们新打开一个查询窗口,用同样的查询语句查询,我们会发现,查询结果是一样的。