当前位置 博文首页 > anyi2404的博客:Sqlserver数据库中的临时表详解

    anyi2404的博客:Sqlserver数据库中的临时表详解

    作者:[db:作者] 时间:2021-08-12 17:59

    临时表在Sqlserver数据库中,是非常重要的,下面就详细介绍SQL数据库中临时表的特点及其使用,仅供参考。

    ?

    临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。

    对于临时表有如下几个特点:

    • 本地临时表就是用户在创建表的时候添加了“#”前缀的表,其特点是根据数据库连接独立。只有创建本地临时表的数据库连接有表的访问权限,其它连接不能访问该表;
    • 不同的数据库连接中,创建的本地临时表虽然“名字”相同,但是这些表之间相互并不存在任何关系;在SQLSERVER中,通过特别的命名机制保证本地临时表在数据库连接上的独立性。
    • 真正的临时表利用了数据库临时表空间,由数据库系统自动进行维护,因此节省了表空间。并且由于临时表空间一般利用虚拟内存,大大减少了硬盘的I/O次数,因此也提高了系统效率。
    • 临时表在事务完毕或会话完毕数据自动清空,不必记得用完后删除数据。

    ?

    本地临时表

    本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接(也就是创建本地临时表的connection)是可见的;当用户从 SQL Server 实例断开连接时被删除。

    ?

    例如我们在一个数据库连接中用如下语句创建本地临时表#Temp

    数据库连接1:

    CREATE TABLE #Temp
    (
        id int,
        customer_name nvarchar(50),
        age int
    )
    cs