![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
sql把字符串转换成表对象?
需求是这样的,我需要建立Test0,Test1,Test2.....Test9这样10个表,在server2005中怎样使下面这种方法生效:declare@iintset...
需求是这样的,我需要建立Test0,Test1,Test2.....Test9这样10个表,在server 2005中怎样使下面这种方法生效:
declare @i int
set @i=0
while @i<10
begin
create table Test+Convert(@i,nvarchar(1))--这里如何实现?
(
id int primary identity(1,1),
otherInfo nvarchar(2000)
)
end
declare @i int
set @i=0
while @i<10
begin
create table Test+Convert(@i,nvarchar(1))--这里如何实现?
(
id int primary key identity(1,1),
otherInfo nvarchar(2000)
)
@i=@i+1
end 展开
declare @i int
set @i=0
while @i<10
begin
create table Test+Convert(@i,nvarchar(1))--这里如何实现?
(
id int primary identity(1,1),
otherInfo nvarchar(2000)
)
end
declare @i int
set @i=0
while @i<10
begin
create table Test+Convert(@i,nvarchar(1))--这里如何实现?
(
id int primary key identity(1,1),
otherInfo nvarchar(2000)
)
@i=@i+1
end 展开
4个回答
展开全部
把创建语句保存在一个变量里面@createstatement='create table...',然后执行语句: EXECUTE sp_executesql @createstatement 试试 , 一楼回答的语句一般不用EXEC函数执行,sp_executesql 有输入输出参数的接口!
展开全部
我来回答吧:
我测试过了,下面正常没有问题的,修改如下:
declare @i int
set @i=0
while @i<10
begin
declare @CreateTableSql varchar(2000)
set @CreateTableSql = 'create table Test'+cast(@i as varchar)+'( '
set @CreateTableSql = @CreateTableSql + ' id int identity(1,1), '
set @CreateTableSql = @CreateTableSql + ' otherInfo nvarchar(2000) '
set @CreateTableSql = @CreateTableSql + ' ) '
exec(@CreateTableSql) -- 执行sql变量,创建表
set @i = @i + 1
end
我测试过了,下面正常没有问题的,修改如下:
declare @i int
set @i=0
while @i<10
begin
declare @CreateTableSql varchar(2000)
set @CreateTableSql = 'create table Test'+cast(@i as varchar)+'( '
set @CreateTableSql = @CreateTableSql + ' id int identity(1,1), '
set @CreateTableSql = @CreateTableSql + ' otherInfo nvarchar(2000) '
set @CreateTableSql = @CreateTableSql + ' ) '
exec(@CreateTableSql) -- 执行sql变量,创建表
set @i = @i + 1
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @i int
set @i=0
while @i<10
begin
exec('create table Test Convert('+@i+',nvarchar(1))
(
id int primary key identity(1,1),
otherInfo nvarchar(2000)
)'
set @i=@i+1
end
set @i=0
while @i<10
begin
exec('create table Test Convert('+@i+',nvarchar(1))
(
id int primary key identity(1,1),
otherInfo nvarchar(2000)
)'
set @i=@i+1
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
太难了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |