sql server 删除重复项并保存到原表中

sql语句跟oracle语法不同,二者建立临时表的方法不同。

1、oracle去重

creat table 新表名 as (select distinct * from 去重表名);
delete from 去重表;
/* 删除去重表里的数据*/
insert into 去重表 select * from 新表名;

2、 sql去重

/通过建立局部临时表,对数据表进行去重,这样不会造成表格积累,也不用重新修改代码/
use mg_OMC
select distinct * into #temp from dbo.ad_report;
/查询去重的数据保存到局部临时表中/
delete from dbo.ad_report;
/删除原表中的数据,并保留字段名称和格式/
insert into dbo.ad_report select * from #temp;
/把局部临时表中的数据插入到原表中/

临时表分为全局临时表和局部临时表,区分在全局是 “##”,局部是“#”。

全局临时表对所有用户都是可见的,在每个访问该表的用户都断开服务器连接时,全局临时表才会被删除;
局部临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除。
建议一般使用局部临时表。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页