在sql server中表名是不能做变量的。你试一下:
Declare @tbname varchar(20)
select @tbname ='一个表的名字'
select * from @tbname
绝对不行。
Declare @tbname varchar(20)
select @tbname ='一个表的名字'
select * from @tbname
绝对不行。
exec(@sql)
DECLARE @vSql VARCHAR(8000)Declare Mysearch Cursor for select name from sysobjects where type='U'
open Mysearch
Fetch First from Mysearch into @tbname
WHILE (@@FETCH_STATUS = 0)
begin
SET @vSql = 'Truncate table ' + @tbname
EXEC(@vSql) Fetch Next from Mysearch into @tbname
end
Close Myserch
DEALLOCATE Myserch