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、查詢后結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM