各位老大,他这是语法错误啊,不是运行错误。 象下面这样写同样会错! if (1=1) begin create table #zuihou1( item_no varchar(20) not null,unit_cost float default 0 primary key (item_no) ) drop table #zuihou1 end else begin create table #zuihou1( item_no varchar(20) not null,unit_cost float default 0 primary key (item_no) ) drop table #zuihou1 end 解决方法就是把创建#zuihou1的语句拿到if外面去。
to:tj_dns(愉快的登山者) 不记录到sysobjects表中。??临时表是记录在TEMPDB的SYSOBJECTS TRY:SELECT * INTO #TEMP FROM SALES GO USE TEMPDB GO select * from sysobjects where id=object_id('#temp')
这个语句并不能判断出临时表是否存在。
即使分别在if..else里面也不可以
象下面这样写同样会错!
if (1=1)
begin
create table #zuihou1(
item_no varchar(20) not null,unit_cost float default 0
primary key (item_no)
)
drop table #zuihou1
end
else
begin create table #zuihou1(
item_no varchar(20) not null,unit_cost float default 0
primary key (item_no)
)
drop table #zuihou1
end
解决方法就是把创建#zuihou1的语句拿到if外面去。
不记录到sysobjects表中。??临时表是记录在TEMPDB的SYSOBJECTS
TRY:SELECT * INTO #TEMP FROM SALES
GO
USE TEMPDB
GO
select * from sysobjects where id=object_id('#temp')