存储过程以消除重复数据

时间:2016-02-18 08:23:35

标签: sql

如果在a2中已存在的名称如果在a1中是否存在且如果名称在a2中不存在然后通过pl / sql插入到a2中

SQL> select * from a1;

NAME
--------------------
ashok
bahrath
manoj
anoop


SQL> select * from a2;

NAME
--------------------
manoj
bahrath
ashok
sharath

1 个答案:

答案 0 :(得分:1)

只需一个基本的INSERT INTO ... SELECT ...语句就可以了:

INSERT INTO A2
SELECT A1.NAME 
FROM A1 
WHERE A1.NAME NOT IN (SELECT A2.NAME FROM A2);

至于Tony Spark的观点,即使这个查询给你带来问题的可能性很小,也要获得一个新的数据库。 (Just Kidding ...)Left Outer Join版本应该可以工作:

INSERT INTO A2
SELECT A1.NAME 
FROM A1 
    LEFT OUTER JOIN A2 ON A1.Name = A2.Name
WHERE A2.Name IS NULL;