SQL Server 批量创建表 - MS-SQL Server / 基础类
SQL code:
/*下面循环创建有误,第一行 '4' 附近有错误*/
declare @ii int
set @ii = 4
while @ii <= 100000
begin
declare @strSql varchar(100)
declare @_str varchar(10)
set @_str = str(@ii)
set @strSql = 'create table dd_tb_'+ @_str + ' (tm datetime,tagValue float)'
set @ii = @ii + 1
execute(@strSql)
end
/*这个正确:*/
declare @ii varchar(10)
set @ii = '4'
/*while @ii <= 100000*/
begin
declare @strSql varchar(100)
/*declare @_str varchar(10)
set @_str = str(@ii)*/
set @strSql = 'create table dd_tb_'+ [color=#FF0000]@ii[/color] + ' (tm datetime,tagValue float)'
/*set @ii = @ii + 1*/
execute(@strSql)
end
很明显是因为 @ii 是int的原因,int如何转换成字符串呢?
SQL code:
set @strSql = 'create table dd_tb_'+ ltrim(@ii) + ' (tm datetime,tagValue float)'
/*set @ii = @ii + 1*/
execute(@strSql)
end
SQL code:
set @strSql = 'create table dd_tb_'+ ltrim(@ii)+ ' (tm datetime,tagValue float)'
set @_str = str(@ii)
-->
set @_str = ltrim(@ii)
set @_str = cast(@ii as varchar)
相关问答:
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
id url rank ......