导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

创建临时表的语句不能写两次,怎么办?

universe 2003-12-23 04:38:37
我需要按条件生成不同内容但名字相同的临时表
如:
if @login=true
select * into #abcd from syspara where code='01'
else
select * into #abcd from syspara where code='02'

但在创建过程的时候提示#abcd已经存在的错误,过程不能创建

这如何是好
...全文
9 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveSQL 2003-12-24
你可以先create table #abcd(.......)
然后再写你的语句就可以拉。

if @login=true
insert into #abcd select * from syspara where code='01'
else
insert into #abcd select * from syspara where code='02'
回复
yyecho2008 2003-12-24
这个应该不得行吧,因为一个库中,没有有相同名字的两个表呀。在不同的库中,才差不多。你不是写错了呀。。。这只是我的看法,请不要介意!!
回复
pbsql 2003-12-23
不知道SQL SERVER是怎么去检查语法的,select * into #abcd ...是不能写两遍,即使这样写也会报错:
if @a>b
select * into #abcd ...where ...
else
select * into #abcd ...where ...

回复
wzh1215 2003-12-23
if object_id('tempdb.dbo.#abcd') is not null
drop table #abcd
select * into #abcd from syspara
where code=case @login when 1 then '01' else '02' end
回复
universe 2003-12-23
要是这样呢
if @login=true
select * into #abcd from syspara where code='01'
else
select * into #abcd from syspara where codext='01'

这句该怎么变呢?
select * into #abcd from syspara
where code=case @login when 1 then '01' else '02' end


回复
universe 2003-12-23
条件判断的不是表的字段,而是存储过程中的一个变量的值
所以以上方法都不行

sqlserver为什么不让过程中出现两条活以上的创建同一个表的名字的语句呢,这几条语句是单项执行的也不行吗?根据条件可是只有一条才被执行的啊
回复
gmlxf 2003-12-23
if object_id('temp..#abcd') is not null
drop table #abcd
select * into #abcd from syspara
where code=(case when @login=1 then '01' else '02' end)
回复
qiaolin53 2003-12-23
赞成zjcxc(邹建)
回复
--上面写少了一个单引号
select * into #abcd from syspara
where code=case @login when 1 then '01' else '02' end
回复
--还是错,应该是:
select * into #abcd from syspara
where code=case @login when 1 then '01' else '02 end
回复
if @login=1 --true是什么? SQL中没有这个
select * into #abcd from syspara where code='01'
else
select * into #abcd from syspara where code='02'
回复
viptiger 2003-12-23
Drop Table #abcd
if @login=true
select * into #abcd from syspara where code='01'
else
select * into #abcd from syspara where code='02'
回复
shuangyu 2003-12-23
一个库中的同一用户可能让二个同样名字的表同时存在吗??不可能的
你要解决什么问题呀
要不就对表加一个有规则的后缀呀
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告