📜  SQL中的临时表是什么?

📅  最后修改于: 2021-09-09 10:37:36             🧑  作者: Mango

临时表最有可能是永久表。临时表在 TempDB 中创建,并在最后一个连接终止后自动删除。临时表帮助我们存储和处理中间结果。当我们需要存储临时数据时,临时表非常有用。创建临时表的语法如下:

创建临时表:

CREATE TABLE #EmpDetails (id INT, name VARCHAR(25))  

将值插入临时表:

INSERT INTO #EmpDetails VALUES (01, 'Lalit'), (02, 'Atharva') 

从临时表中选择值:

SELECT * FROM #EmpDetails 

结果:

id name
1 Lalit
2 Atharva

有两种类型的临时表:本地临时表和全局临时表。这些解释如下。

  1. 本地临时表:
    本地临时表仅可用于创建它的会话。当创建它的连接关闭时,它会自动删除(删除)。创建本地临时表 单个“#”用作表名的前缀。

    此外,用户可以使用“DROP TABLE #EmpDetails”查询删除此临时表。将随机数附加到表名称的名称。如果临时表是在存储过程中创建的,它会在存储过程执行完成后自动删除。

    例子:

    CREATE PROCEDURE ProcTemp 
    AS
    BEGIN
    CREATE TABLE #EmpDetails
    INSERT INTO #EmpDetails VALUES ( 01, 'Lalit'), ( 02, 'Atharva')
    SELECT * FROM #EmpDetails
    END
    EXECUTE ProcTemp 
  2. 全局临时表:
    要创建全局临时表,请在表名前添加“##”符号。

    例子:

    CREATE TABLE ##EmpDetails (id INT, name VARCHAR(25)) 

    全局临时表对所有连接可见,并在最后一个引用该表的连接关闭时被丢弃。全局表名必须有一个唯一的表名。表名末尾不会有随机数的后缀。