注意:Oracle中的联合主键查询问题

文章作者 100test 发表时间 2007:03:14 13:37:27
来源 100Test.Com百考试题网


最近要进行导数的工作,从好几张表中导入到一张表,其中数据可能重复,所以在导入之前要进行数据的比对。

方法一:我用group by having count(*)>1将重复的数据提取出来,然后进行人工比对,事实证明,有够笨的!

方法二:请教了一位资深人员,提供了一个更好的方法。就是将三个字段连接起来作为主键,进行数据是否重复的判断。这里值得注意的是某列的值可能为空,所以要赋一个空字符串过去。

0select * from t1 where  nvl(col1,)|| nvl(col2,)|

| col3 not in (0select col1||col2||col3  from t2)

然后将不重复的值,插入t2就可以了。



相关文章


发财季报告甲骨文公司未来一片光明
在Windows上命令行手工启停Oracle
Oracle非法数据库对象引起的错误及解决,笔记,MBA,EMBA,留学,移名,翻译
应用Oracle组件实现动态Web数据库(3)
注意:Oracle中的联合主键查询问题
OracleORA-00903错误具体原因分析
使用oradim恢复windows上的数据库
Oracle数据库的左连接和右连接
应用Oracle组件实现动态Web数据库(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛