数据库结构操作脚本

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 05:23 点击:
/*        
  数据库操作脚本汇集
 
*/
 
 
--删除重复数据
-------------删除重复数据--------------------------
declare
  pvar_i_cunt          integer;
  sStockcode           varchar2(20);
  sExchange            varchar2(10);
  sSql                 varchar2(1000);
begin
 /*
   删除重复数据:
     用一个临时表保存重复数据,但只记录重复数据中的一条(rowid最大的一条),然后将这表来关联实际表,
    把重复数据中rowid不是最大其它数据删除,这样就剩下一条了。
  */
  --创建一个临时表来保存重复数据(这个表里面:只记录其中一条--rowid最大的一条)
  select count(1) into pvar_i_cunt from user_tables s where s.TABLE_NAME='TMP_STOCKCOMPS';
  if pvar_i_cunt>0 then
    execute immediate 'drop table TMP_STOCKCOMPS';
  end if ;
  execute immediate ' create table TMP_STOCKCOMPS
                      (
                        row_id        ROWID,
                 -----------下面字段是主键字段----------------
                        vc_stock_code VARCHAR2(20) not null,
                        vc_exchange   VARCHAR2(20) default '' '' not null
                      )' ;
 
 
  for cur in (select a.cn, a.vc_stock_code, vc_exchange
                from (select count(*) cn, s.vc_stock_code, s.vc_exchange
                        from STOCKCOMPS s
                       group by s.vc_stock_code, s.vc_exchange) a
               where a.cn > 1) loop
    sStockcode := cur.vc_stock_code;
    sExchange  := cur.vc_exchange;
   
    --取出重复数据的其中一条(max(rowid)那条)
    sSql :=' insert into TMP_STOCKCOMPS '
         ||'      (row_id, vc_stock_code, vc_exchange) '
         ||'  select max(a.rowid), a.vc_stock_code, a.vc_exchange '
         ||'    from STOCKCOMPS a '
         ||'  where a.vc_stock_code = '''|| sStockcode||''''
         ||'    and a.vc_exchange = '''||sExchange||''''
         ||'   group by&n

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • sql常见面试题
      • SQL SERVER 2005性能之跟踪
      • SQL编程(一)
      • LINUX上RMAN自动备份脚本
      • sql server面试题
      • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
      • 如何将多个SQL查询统计结果一次显示出来
      • SQL小技巧系列 --- 行转列合并
      • sql server 列转行
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1