/*本程序以表tb_test为例,说明了怎样删除表中重复的列.
注:test1为主键,test3中有重复的值.保留第一次出现的数据,删除以后出现的数据*/
declare del_test scroll cursor
for select test1 ,test3 from tb_test
declare @sa_test1 int , @sa_test3 char(10)
open del_test
fetch next FROM del_test into @sa_test1 , @sa_test3
while @@fetch_status <> -1
begin
IF (@@fetch_status<>-2)
delete tb_test where ltrim(rtrim(test3))=ltrim(rtrim(@sa_test3)) and test1<>@sa_test1
fetch next from del_test into @sa_test1 , @sa_test3
end
close del_test
DEALLOCATE del_test