全局临时表

  全局临时表是以两个‘##’符号为前缀,并且它对所有会话可见的一种临时表。全局临时表一般用在需要向所有人共享数据的时候使用。下面是一个全局临时表的示例。

-- 全局临时表
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;

查询结果:

为了证明全局临时表对其它会话可见,我们新打开一个查询窗口,用同样的查询语句查询,我们会发现,查询结果是一样的。

时间: 2024-11-07 10:24:21

全局临时表的相关文章

SQL 临时表的使用,本地和全局临时表

一.SQL中创建本地临时表 方法1: CREATE TABLE #本地临时表名称 或 CREATE TABLE ##全局临时表名称 方法2: SELECT * INTO #本地临时表名称 FROM 表名称 SELECT * INTO ##全局临时表名称 FROM 表名称 说明: 1.临时表其实就是放在tempdb 中的的一个用户表. 2.本地临时表用"#"开头,全局临时表用"##"开头,这种表在会话期间存在,会话结束时自动删除. 二.删除临时表 语法: DROP T

sql server中的用户临时表和全局临时表的区别

临时表分为: 本地临时表,仅限于当前访问者访问,创建方法去如下:create table #TableName(表结构)储存于数据库tempdb内(硬盘),当前用户断开连接(把当前的),自动删除如果使用中不断开连接,且不需要该临时表请执行:drop table #TableName 全局临时表,所有访问用户访问,创建方法去如下:create table ##TableName(表结构)储存于数据库tempdb内,当所有访问用户断开连接,自动删除删除语句:drop table ##TableNam

被Oracle全局临时表坑了

今天凌晨4点多钟,在客户现场的负责人打电话给我,说很奇怪,下载功能时快时慢.此下载功能非常复杂,之前一直是我优化,在半梦半醒中打开电脑,通过远程看着现场同事在PL/SQL developer中操作.执行同一条SQL,时快时慢,快的时候大概0.6s,慢的时候超过1分钟. 这条SQL有调用一个函数,功能是动态生成接近200条查询语句,SQL中都是有绑定变量的.是现场的测试环境,刚刚部署,心想应该不是数据库负载所致. 1. 抓取数据库AWR报告,完全没有压力,数据库服务器配置都是杠杠的.此刻心里有点乱

一次被Oracle全局临时表坑的个人心得

[e良师益友网]使用Oracle开发的时候很多时候遇到一些你意想不到的问题,往往在于细节方面出现了不可回避的错误,下面分享一个难忘的事件,这次中表明基础方面的知识真的很重要 那 是凌晨4点多钟,在客户现场的负责人打电话给我,说很奇怪,下载功能时快时慢.此下载功能非常复杂,之前一直是我优化,在半梦半醒中打开电脑,通过远程看 着现场同事在PL/SQL developer中操作.执行同一条SQL,时快时慢,快的时候大概0.6s,慢的时候超过1分钟. 这条SQL有调用一个函数,功能是动态生成接近200条

临时表和全局临时表

临时表就是那些名称以井号 (#) 开头的表.如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表. 临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内. 全局临时表 以两个井号 (##) 开头的那些表名.在所有连接上都能看到全局临时表或者这样说只要这个全局临时表存在,那么用户创建会话后对所有的用户都是可见的.如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去.当创建全局临时表的连接断开后,新的任务不能再引用

数据库——创建局部临时表和全局临时表

局部临时表与全局临时表区别与示例: 1.局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除. 2.全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除. 3.不管局部临时表还是全局临时表,只要连接有访问权限,都可以用drop table #Tmp(或者drop table ##Tmp)来显式删除临时表. --create table #temp(num int primary key,pname varchar(20))//创建局部临时表,只对当前连接

[转]表变量和临时表的比较

本文转自;http://www.cnblogs.com/CareySon/archive/2012/06/11/TableVariableAndTempTable.html 关于表变量是什么(和表变量不是什么),以及和临时表的比较让很多人非常困惑.虽然网上已经有了很多关于它们的文章,但我并没有发现一篇比较全面的.在本篇文章中,我们将探索表变量和临时表是什么(以及不是什么),然后我们通过使用临时表和表变量对其解密. 表变量 表变量在SQL Server 2000中首次被引入,那么,什么是表变量呢?

临时表

--临时表:只能在当前会话中使用.如果当前会话关闭了,那么临时表就生动消失 --select * into newclasses from classes --生成一张新表,将classes表中的数据复制到一个新表中存储--truncate table classes --删除原始物理表的数据,重置标识列值--insert into Classes select classname from newclasses --将生成的新表的数据重新添加到原始物理表中--drop table newcla

17_Oracle_Admin_表空间的管理方式以及UNDO和临时表空间

一.表空间的管理   数据库表空间的管理主要分为两种: 1.数据字典的表空间管理--当空闲的extents释放了,数据字典中的表会做相应的调整,它相当于中央控制,对全局进行管理 2.本地表空间的管理--tablespace自身来管理空闲的extents:Bitmap位图用来记录extents空闲与否,每一个extent对应位图上的一位,其中1表示extent被占用,0表示没有被占用. 如果SYSTEM是本地管理的,那么该数据库将不支持表空间的数据字典管理方式. 使用数据字典进行中央管理,需要定期