Oracle中,写存储过程,如何比较两条记录是否相同,两条记录分别来自两张表,表结构相同

Oracle中,写存储过程,如何比较两条记录是否相同,两条记录分别来自两张表,表结构相同,有没有好的方法。(不要告诉我把两张表的所有字段值一一列出来比较,这个我会,但不想用)

DECLARE
v_count pls_integer;
BEGIN
select count(*) into v_count
from
(
select * from tb1 where
minus
select * from tb2 where ...
);
if v_count=0 then
dbms_output.put_line ('2条数据完全相等');
else
dbms_output.put_line ('2条数据不完全相等');
end if
END;
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-24
利用minus语法。
v_count number;
select count(*) into v_count from(
select * from tbl1 where ***
minus
select * from tbl2 where ****
)
if v_count=0 then
相同
else
不相同
end if;本回答被提问者采纳

java程序对Oracle两张表结构相似的表的数据对比,具体如下
总结下需求是在B表中找到于A表一样的记录 因为存在主键A B表本身不会存在重复值,所以最多是一对一的存在。千万条记录不适合一次性全部load出来 直接使用sql联合查询应该更适合select a.A from A a,B b where a.A=b.A and a.B=b.B and a.C=b.C and a.D=b.D and a.E=b.E;...

oracle存储过程 使用游标 比对临时表和业务表两张表 相同数据找出来 做...
使用merge into就可以了。示例 MERGE INTO bonuses D USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id)WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 DELETE WHERE (S.salary > 8000)W...

oracle存储过程,我如何把两个表中的两列数据进行替换
这个一个语句就可以实现了,不用着存储过程。Update X set 列=(Select c from Y where b=a);要求Y表中不能有重复行。

oracle数据库中比较一个相同表中的两行数据中的不同列,并且把不同的...
select a from A a1 where not exists (select 1 from table where A a2 where a1.a=a2.b)unionselect b from A a1 where not exists (select 1 from table where A a2 where a1.b=a2.a)

oracle 怎样同步两张大表数据,用sql语句实现
1、写个触发器,在a表中insert数据的时候同时在b表中insert。2、写个存储过程,写两个insert语句,将数据同时insert到a表和b表中,在程序中调用存储过程。

ORACLE中 2张类似表进行数据对比,并把值放到另一张表里面进行显示
(select a1.aaa,(case when b1.aaa is null then 0 else 1 end) DATA1 from aaa_ALL a1 left join 20100301 b1 on a1.aaa=b1.aaa) aa1 inner join (select a2.aaa,(case when b2.aaa is null then 0 else 1 end) DATA2 from aaa_ALL a2 left join 20100301 b2 on a2.aaa...

求oracle存储过程,同时删除两张表中的id相同的数据
1.创建临时表(或者创建个表也可以,用一次删一次)即中间表。2.取出两个表相同的ID记录,将ID插入中间表 3.对应中间表中的id,删险两表中的记录。4.清除中间表 方法二(要用游标、变量):1.建立游标,用游标取出两表相同ID记录,将ID放入变量。2.通过Loop,根每一个ID的变量对到删除两表中的...

如果在一个循环中对比两条记录?
你还是列几条数据吧,这样太抽象了,怕理解错误你的意思,还有,你这是要写个sql语句还是要用存储过程?---补充--- select a.product_id,b.begin_date from (select rownum id,user_id,product_id,begin_date,end_date from bb_user_info_t order by USER_ID,PRODUCT_ID) a,(select rownum...

Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表
一:Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中,以及通过Oracle存储过程解析Clob字段中的xml字符串到指定的数据表里面:二:下面是具体的方法,主要是红色部分,是解决如果根据指定的参数判断该参数的值是否已经存在的数据表中:CREATE OR REPLACE PROCEDURE MIP.MIP_PARSE (xmlStr IN CLOB)IS RENO ...

想写一个在oracle数据库中的存储过程,实现简单的多表查询,并在界面显示...
select * from table1,table2 where table1.**=table2.**;注:table1,table2是两个已经定义的表,**表示表中的属性名称

相似回答