首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

问个存储过程,动态创建表的过程解决方法

2012-05-05 
问个存储过程,动态创建表的过程假设是这样的,我在存储过程里面这么写的:SQL codeexec(create table #tabl

问个存储过程,动态创建表的过程
假设是这样的,我在存储过程里面这么写的:

SQL code
exec('create table #table           (           whID int,           placeID int            )')exec('select * from #table')


这样就报错了!说是#table不存在? 这怎么回事啊?临时表就没了吗?

[解决办法]
SQL code
godeclare @str varchar(max)set @str=''set @str='create table test(           whID int,           placeID int)'exec(@str)godeclare @str varchar(50)set @str=''set @str='select * from  test'exec(@str)这样可以,但是不能创建临时表
[解决办法]
临时表#的生存周期是当前程序块,你通过exec执行创建的临时表在exec执行完成后就被销毁了,所以查询不到了。可以创建全局的临时表##这样就可以了
SQL code
exec('create table ##table           whID int,           placeID int')exec('select * from ##table') 

热点排行