怎样删除数据库中重复字段?(50分)

  • 主题发起人 主题发起人 raider
  • 开始时间 开始时间
R

raider

Unregistered / Unconfirmed
GUEST, unregistred user!
Sql Server7.0 一个表,有若干个字段,
其中一些记录在某几个特定字段上的数据发生了重复,
现在我只想保留一个 请问怎么用Sql完成?
 
改变 table 的结构,删除重复的字段,或者在写 sql 语句时不选择这几个字段
 
sql server不知道.Informix的表中都有一个隐含的字段rowid,唯一标识一条记录
 
这几个字段是关键字段,一定要选,请问有别的办法吗?
 
我前两天刚好写了一个存储过程,可以删除重复的记录(不好意思,献丑了)
不过只能删除一个字段的重复记录,如果要几个字段,你改一下就行了。
在SQL SERVER 7。0下调试通过。

CREATE PROCEDURE deldup @colnam char(12)
AS

Declare @value varchar
Declare @oldValue varchar

Declare Row Cursor For Select @colnam from sales for Update

Open row

Fetch next from row into @value

select @OldValue = ''

while (@@Fetch_status=0)
begin
if @value=@oldValue
delete sales where current of row
select @oldvalue=@value
fetch next from row into @value
end
close row
deallocate row
 
如果是查找时去掉重复的话用select distinct 字段名 from...
如果是添加时去掉重复的话可以逐个按不能重复的字段查询当前输入值,若查到
则说明有重复,不能添加,若查不到,则说明无重复,可以添加。
 
我只知怎样查重复字段。
不知怎样删除。
 
这个方法最简单,如果可以的话
create table tablename
as select uique(还是distinct) * from old_tablename
查查格式,因该可以
 
接受答案了.
 
后退
顶部