各位用户为了找寻关于sql server创建临时表的两种写法和删除临时表的资料费劲了很多周折。这里教程网为您整理了关于sql server创建临时表的两种写法和删除临时表的相关资料,仅供查阅,以下为您介绍关于sql server创建临时表的两种写法和删除临时表的详细内容
--创建、删除临时表
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18--第一种方式
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、错误的删除操作:
? 1 2 3 4 5 6 7 8 9 10--错误的临时表删除操作,因为所在数据库不同
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、正确的删除方式:
? 1 2 3 4--正确的临时表删除操作
if object_id(
'tempdb..#tempTable'
)
is
not
null
Begin
drop
table
#tempTable
End
sql 判断临时表是否存在,删除临时表重建
? 1 2 3 4IF 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
--把物理表的数据插到临时表