下列SQL语句为甚么执行失败???

pipsqueak 2003-05-16 02:23:06
declare @sql char(100)
select @sql='create table #temptable(x int)'
exec( @sql)
insert into #temptable values(100)

-------------------------------------
服务器: 讯息 208,层级 16,状态 1,行 4
无效的对象名称 '#temptable'。
...全文
72 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jack996 2003-05-16
张柏芝就是我梦中情人,爱轧轧地。
回复
pipsqueak 2003-05-16
谢谢各位!
//因为EXEC一执行完,所有的东西都结束了,除了##的全局临时表。
我原来不知道exec这个特点.
4点结帖
回复
WT滔滔江水 2003-05-16
那你可以先把这张表建起来,然后用exec ('ALTER TABLE XX'),我想这样应该能符合你的要求,要不只能象CrazyFor(蚂蚁)说的那样了。因为EXEC一执行完,所有的东西都结束了,除了##的全局临时表。
回复
HawaiiLeo 2003-05-16
declare @sql char(100)
select @sql='create table ##temptable(x int)'
exec(@sql)
insert into ##temptable values(100)

这个呢??
回复
pipsqueak 2003-05-16
这样当然不会出错了,但我的sql语句必须动态创建,所以必须用exec.
回复
CrazyFor 2003-05-16
declare @sql char(100)
select @sql='create table #temptable(x int)' +'insert into #temptable values(100)'

exec( @sql)
回复
caiyunxia 2003-05-16
declare @sql char(100)
select @sql='create table ' + #temptable + ' (x int)'
exec( @sql)
insert into #temptable values(100)
回复
liukanghui 2003-05-16
declare @sql char(100)
create table dbo.#temptable(x int)

insert into dbo.#temptable values(100)

试试这样
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-16 02:23
社区公告
暂无公告