sqlserver游标查询use @Name这行报错,我怀疑是@Name类型不支持use,求解决方法

declare @Name nvarchar(200)
declare mycursor cursor for SELECT Name FROM Master..SysDatabases ORDER BY Name
open mycursor

fetch next from mycursor into @Name  
while (@@fetch_status=0)
begin    
 if(substring(@Name,1,3)='POS')
 BEGIN
    print @Name
    --USE @Name
    --go
    --select top 100 * from billsales
 END
   fetch next from mycursor into @Name
end

close mycursor
DEALLOCATE mycursor


declare @Name nvarchar(200)
declare mycursor cursor for SELECT Name FROM Master..SysDatabases ORDER BY Name
open mycursor

fetch next from mycursor into @Name  
while (@@fetch_status=0)
begin    
 if(substring(@Name,1,3)='POS')
 BEGIN
    print @Name    
    --USE @Name     --不能这样写的
    --go
    --select top 100 * from billsales

    --可以使用动态sql去完成你的功能    
    DECLARE @sql VARCHAR(200);
    SET @sql='SELECT top 100 * FROM '+@name+'..billsales';
    EXEC (@sql);
 END
   fetch next from mycursor into @Name
end
close mycursor
DEALLOCATE mycursor