declare @i int
declare @str varchar(100)
set @i=1
while @i<32
begin
set @str='cdr'+LTRIM(@i)
insert into cdr select * from [@str] --这边的[@str]是错的,应该怎样引用这个str变量
set @i=@i+1
end我有表cdr1,cdr2,cdr3...cdr31我写个过程想让他连续插入可是我到表时候发现语法错,主要错误是引用表的时候错误了,如上面的insert into cdr select * from [@str]
这个直接写错[@str]不行
declare @str varchar(100)
set @i=1
while @i<32
begin
set @str='cdr'+LTRIM(@i)
EXEC('insert into cdr select * from ['+@str+']') --这边的[@str]是错的,应该怎样引用这个str变量
set @i=@i+1
end
declare @i int;set @i=1
declare @str varchar(100)
while @i<32
begin
set @str='cdr'+ltrim(@i)
exec('insert into cdr select * from ['+@str+']')
set @i=@i+1
end动态拼接就可以了。