标题:关于创建表的问题
只看楼主
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
 问题点数:0 回复次数:7 
关于创建表的问题
为什么我用个declare @sql nvarchar(1000)
set @sql='create table #temp (a int,b int)'
exec (@sql)
这样子做不能创建的?请问是什么原因??
搜索更多相关主题的帖子: create 
2007-04-23 19:18
xiyou419
Rank: 1
等 级:新手上路
威 望:2
帖 子:104
专家分:0
注 册:2007-3-18
得分:0 

可以的,你的SQL可能没装好吧!
我试过了,可以执行的.


道德往往可以弥补智慧的缺陷;但智慧永远不能填补道德的空白.
2007-04-23 20:52
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
得分:0 

不会吧,系统提示是说无效的标识符,那我再去试试,谢谢了.


我不是最好,但我可以更好,大家一起加油了
2007-04-23 21:19
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
得分:0 
不行哦,你执行一下时,系统会提示操作成功,可是在数据库里是没有那张表的存在的,你不信的话,你可以再试下创建,你会发现系统还是提示操作成功,但是你select一下你就知道了

我不是最好,但我可以更好,大家一起加油了
2007-04-23 21:23
xiyou419
Rank: 1
等 级:新手上路
威 望:2
帖 子:104
专家分:0
注 册:2007-3-18
得分:0 
晕,你创建的是临时表,当然在你的数据库里看不到了,
它在系统的tempdb里面,当你本次关闭数据库时就消失了,
你运行这个试试看:
declare @sql nvarchar(1000)
set @sql='create table table1 (a int,b int)'
exec (@sql)

[此贴子已经被作者于2007-4-23 22:15:21编辑过]


道德往往可以弥补智慧的缺陷;但智慧永远不能填补道德的空白.
2007-04-23 22:14
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
得分:0 

我那样子也试过了,不行哦,但是系统会提示你操作成功,我也试过把那个@SQL给print出来,语句是没错啦,但是就是找不到那表.


我不是最好,但我可以更好,大家一起加油了
2007-04-26 09:24
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
declare @sql nvarchar(1000)
set @sql='create table #table1 (a int,b int)'+char(13)+' select * from #table1'
print @sql
exec (@sql)

你这样试试,临时表只是在当前的session中存在的,不是说一个连接

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-04-26 10:16
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
得分:0 
行了,我明白是为什么了,谢谢各位的帮助

我不是最好,但我可以更好,大家一起加油了
2007-04-27 09:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-134326-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012951 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved