标题:[求助]建立的表名中,能否用变量
只看楼主
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 
1)我把@sql变量设置成varchar(50)后
print(@sql) Create table tbl1 (myid int not null,myname varcha只能出现这50个字段了,

set @sql='Create table tbl'+cast(@i as varchar) +' (myid int not null,myname varchar(10) )'
打''号的字段好象不应该算在varchar(50)里的吗?


2)当cast(@i as varchar) 把@i的数据类型转换成字符型后,
set @i=@i+1 是字符的@i+1怎么计算的啊?
2007-03-21 00:13
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
1.''这个是字符的标志啊
2.cast(@i as varchar) 这个只是显示的方式改变了,@i还是整数啊

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-21 00:18
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 

字符也包含数字的吧
这个时候的@i是字符的数字,是不是因为这样也可以运算


EXEC(@sql)相当于
执行Create table tbl1 (myid int not null,myname varchar(10)),吗

2007-03-21 00:35



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




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

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