伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

查询分析器中取字段列表

Posted on 2005-03-10 13:21  伯乐共勉  阅读(203)  评论(0)    收藏  举报
ALTER      procedure sp_getfields 
  @tablename varchar(100) 
as 
  declare tmpCursor cursor for 
  select name from syscolumns where id = Object_ID(@tablename) 
 
  open tmpCursor 
  declare @fieldname varchar(50) 
  declare @sqlstr1 varchar(250) 
  declare @sqlstr2 varchar(250) 
 
  set @fieldname = '' 
  set @sqlstr1 = '' 
  set @sqlstr2 = '' 
  fetch next from tmpCursor into @fieldname 
  while @@fetch_status = 0 
  begin 
    if len(@sqlstr1) < 250 - len(@fieldname) 
      set @sqlstr1 = @sqlstr1 + @fieldname + ','      
    else 
      set @sqlstr2 = @sqlstr2 + @fieldname + ',' 
    fetch next from tmpCursor into @fieldname 
  end 
  close tmpCursor 
  Deallocate tmpCursor 
 
  if @sqlstr2 = '' 
    set @sqlstr1 = left(@sqlstr1, len(@sqlstr1) -1) 
  else 
    set @sqlstr2 = left(@sqlstr2, len(@sqlstr2) -1) 
 
  select @sqlstr1 
  if @sqlstr2 <> '' 
    select @sqlstr2