免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5918 | 回复: 5
打印 上一主题 下一主题

sql循环语句不知道怎么写?希望大家慷慨救助。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-05 15:49 |只看该作者 |倒序浏览
大家好,我基本达到这样一个目的,但我不知道循环语句怎么写,目前比较苯,每天手动来执行。
1。查询第一个数据库的表TABLE1,得到“点击数”排名前10的ip地址
SELECT *
  FROM (SELECT '点击数', userip, count(*) as useript_count
          FROM TABLE1 Q
         WHERE Q.BEGINTIME >= TRUNC(SYSDATE) - 1
           AND Q.BEGINTIME < TRUNC(SYSDATE)
         group by userip
         ORDER BY count(q.userip) desc)
WHERE rownum <= 10;

2. 针对这10个ip地址,依次查询第二个数据库的TABLE2,针对TABLE2中查不到IP地址,进入TABLES1进行记录删除,否则不做处理。
select q.user_ip
  from TABLE2 q
WHERE Q.START_TIME >= TRUNC(SYSDATE) - 1
   AND Q.STOP_TIME < TRUNC(SYSDATE)
   AND Q.APP_IDENTITY in ('viewtoo_m3','download')
   AND Q.USER_IP = 'IPADDRESS'                                #该IPADDRESS就是TABLE1中查到的10个地址

3。进入TABLE1中进行记录删除
delete from vod_epg_dr t
    where T.BEGINTIME >= TRUNC(SYSDATE) - 1
      AND T.BEGINTIME < TRUNC(SYSDATE)
      AND t.userip = 'IPADDRESS’;                                #该IPADDRESS就是TABLE2中不能查到的地址


希望哪位大哥进行指导一下,跨数据库操作,并且要对这10个ip地址一一到另一个数据中查询,查不到的就对第一个表中关于该ip的记录进行删除。

论坛徽章:
0
2 [报告]
发表于 2006-12-05 18:08 |只看该作者
?
database link d2 connect by username identified by password using 'dbname'?

delete t1 where ip not in (select ip from t1 where ip in (select ip from t2@d2));     ?

论坛徽章:
0
3 [报告]
发表于 2006-12-06 13:15 |只看该作者
谢谢支持,现在发现卡在dblink上了。
比如我的两个数据库,一个192.168.4.110,sid=d1,table1 ,第二个172.16.22.110,sid=d2,table2,在d1上建立d2的DBLINK
我在192.168.4.110的tnsnames.ora创建好了172.16.22.110的连接字符串test,sqlplus user/passwd@test也正常登陆,然后在192.168.4.110上执行命令create public database link dbtest connect to user identified by passwd using 'test' ;
然后执行select *  from table2@dbtest  报ORA-22992,无法使用从远程表选择的LOB定位器,晕倒

论坛徽章:
0
4 [报告]
发表于 2006-12-06 14:49 |只看该作者
知道原因了,是table2中含了clob类型的字段导致,而oracle的dblink不支持查询该字段,但其实我可以跳过该字段,原命令格式select * from table2@dbtest,比如我只要查询table2中的a字段, select a from table2@dbtest 就可以了

论坛徽章:
0
5 [报告]
发表于 2006-12-12 22:59 |只看该作者
解决了问题,并把最终原因写出来以免他人犯同样错误的是厚道人

论坛徽章:
0
6 [报告]
发表于 2006-12-13 13:31 |只看该作者
在程序中控制吧……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP