精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

2020-07-06 05:52:07易采站长站整理

      select * from a_dist
      create procedure up_distinct(@t_name varchar(30),@f_key varchar(30))
      –f_key表示是分组字段﹐即主键字段
      as
      begin
      declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer
      select @sql = ‘declare cur_rows cursor for select ‘+@f_key+’ ,count(*) from ‘ +@t_name +’ group by ‘ +@f_key +’ having count(*) > 1′
      exec(@sql)
      open cur_rows
      fetch cur_rows into @id,@max
      while @@fetch_status=0
      begin
      select @max = @max -1
      set rowcount @max
      select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key
      if @type=56
      select @sql = ‘delete from ‘+@t_name+’ where ‘ + @f_key+’ = ‘+ @id
      if @type=167
      select @sql = ‘delete from ‘+@t_name+’ where ‘ + @f_key+’ = ‘+””+ @id +””
      exec(@sql)
      fetch cur_rows into @id,@max
      end
      close cur_rows
      deallocate cur_rows
      set rowcount 0
      end
      select * from systypes
      select * from syscolumns where id = object_id(‘a_dist’)
    * 查询数据的最大排序问题(只能用一条语句写)
      Create TABLE hard (qu char (11) ,co char (11) ,je numeric(3, 0))
      insert into hard values (‘A’,’1′,3)
      insert into hard values (‘A’,’2′,4)
相关文章 大家在看