create procedure kkk @tablename varchar(20)
as
declare 
@sql varchar(500)
begin
select @sql='select * from '+@tablename
exec(@sql)
end

解决方案 »

  1.   

    to wwl007(疑难杂症):
    这样是可以从该表中取出数据显示,但是不能从该表中取出数据付值给一个变量,请问一下如何实现将数据付值给变量,如:
    select @sql='select @id = id  from '+@tablename
    如何将 id 付值给一个变量,分数一定会给的,呵呵。
      

  2.   

    使用游标如:
    declare @sql varchar(100),@id int
    set @sql='declare test cursor for select id from ' + @tablename
    exec(@sql)
    open test
    fetch next from test
    into @id
    while @@cursor_Status=0
    begin  fetch next from test
      into @id
    end
    老兄给点分吧
      

  3.   

    jcq(疯子弟):大家都知道你是高手啦,不要急吗!要找工作?
      

  4.   

    谢谢大家,我试了,很好。
    declare @sql varchar(100),@id int,@tablename varchar(100)
    set @tablename='t_user'
    set @sql='declare Cursor_test cursor for select id from ' + @tablename
    exec(@sql)
    open Cursor_test
    fetch next from Cursor_test
    into @id
    while @@FETCH_STATUS =0
    begin  fetch next from Cursor_test
      into @id
      select @id
    end
    close Cursor_test
    DEALLOCATE Cursor_test