sql serverテンポラリ・テーブルの作成の2つの書き方とテンポラリ・テーブルの削除

1860 ワード

--テンポラリ・テーブルの作成、削除

--      
create table #tmp(name varchar(255),id int)

--     
select count(id) as storyNum ,
sum(convert(numeric(10,2),case when isnumeric(code)=1 then code else 0 end)) as codeNum,
sum((case when isnumeric(realcode)=1 then convert(numeric(10,2),realcode) else 0.0 end)) as realcodeNum,
tdtname,cycle,jiracomponent,jirastatename,qualityvalue,storycodellt 
into #tmp from IKNOW_STORY_U2000V1R7C00 group by tdtname,cycle,jiracomponent,jirastatename,qualityvalue,storycodellt

--     
select * from #tmp

--     
if object_id('tempdb..#tmp') is not null
	begin
		drop table #tmp 
	end 

SQL Serverテンポラリ・テーブルの正しい削除方法
SQL Serverテンポラリ・テーブルの削除は、一般的なテーブルとは異なります.次に、エラーや正しい削除操作の例を示します.参考にしてください.
テンポラリ・テーブルは、一般的なテーブルとは異なり、tempDbテーブルに保存されます.テンポラリ・テーブルのテーブル名は、異なる人の同じ操作のために異なるテンポラリ・テーブルを作成するため、あなたが作成したテーブル名とは異なります.
1、誤った削除操作:

--          ,         
IF EXISTS (SELECT * FROM sysobjects WHERE object_id = OBJECT_ID(N'[dbo].[#tempTable]') AND type in (N'U'))
 Begin
 DROP TABLE [dbo].[tempTable]
End
 --          ,        
if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'[#temptable]'))
Begin
 drop table #temptable
End

2、正しい削除方法:

--          
if object_id('tempdb..#tempTable') is not null Begin
 drop table #tempTable
End

sqlテンポラリテーブルが存在するか否かを判断し、テンポラリテーブル再構築を削除する

IF Object_id('Tempdb..#dl') IS NOT NULL  
DROP TABLE #dl --           
CREATE TABLE #dl (neirong char(20),icount int, dlzonjine int, dlshu int, dlyin int) --     
INSERT INTO #dl SELECT * FROM tab1 --