sql Server中临时表与数据表的区别

sql server 中临时表与数据表的区别

1、如何判断临时表和数据表已生成

--如何判断临时表是否已创建---
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Temp_Student'))
    begin
        print '存在临时表';
    end
else
    begin
        print '不存在临时表';
    end
--如何判断数据表是否已创建---
if exists(select * from sys.tables where name='Data_Student')
    begin
        print '存在数据表';
    end
else
    begin
        print '不存在数据表';
    end

其中,临时表创建后默认在tempdb(临时数据库中)的sysobjects中,而数据表创建在当前数据库的sys.tables中

2、如何创建临时表和数据表

  当我们检查到临时表、数据表不存在时,一般进行创建临时表、数据表;存在时,可进行删除或清空数据

--1、如何判断临时表是否已创建---
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Temp_Student'))
    begin
        --print '存在临时表';
        --删除临时表(包括表结构)--
        --drop table #Temp_Student        
        --删除临时表(不包括表结构)--
        truncate table #Temp_Student
    end
else
    begin
        --print '不存在临时表';
        create table #Temp_Student
        (
            Uid int identity(1,1) primary key,
            Age int not null,
            Name varchar(20) not null,
        )
    end
    
--2、如何判断数据表是否已创建---
if exists(select * from sys.tables where name='Data_Student')
    begin
        --print '存在数据表';
        --删除数据表(包括表结构)--
        --drop table Data_Student        
        --删除数据表(不包括表结构)--
        truncate table Data_Student
    end
else
    begin
        --print '不存在数据表';
        --不存在时,创建数据表--
        create table Data_Student
        (
            Uid int identity(1,1) primary key,
            Age int not null,
            Name varchar(20) not null,
        )
    end

3、如何添加临时表和数据表的数据

-----3、如何插入数据----
--1)插入数据到临时表---
insert into #Temp_Student(Age,Name) values(21,'张三'),(22,'李四') 
--2)插入数据到数据表---
insert into Data_Student(Age,Name) values(23,'王五'),(24,'赵六')

4、如何查询临时表和数据表数据

-----4、如何查询数据-------    
--1)查询临时表--
select * from #Temp_Student
--2)查询临时表--
select * from Data_Student

5、查询后结果

posted @ 2017-07-17 14:20  小小邪  阅读(2753)  评论(0编辑  收藏  举报