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;
/把局部临时表中的数据插入到原表中/

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值