将一个 table 中的数据插入 sql 中的另一个已经不存在的数据

insert data from one table to another in sql which already do not exist

我有一个 table xx_photo,我必须在其中插入来自 xx_people_ph table.

的数据
xx_photo :

IMAGE_ID   NOT NULL NUMBER(15)   
PARENT_ID  NOT NULL NUMBER(15)   
TABLE_NAME NOT NULL VARCHAR2(30) 
IMAGE      NOT NULL BLOB         
DATA_FLAG           VARCHAR2(2)  
HIST_DATE           DATE 

每当我们将数据插入 xx_photo 时,hist_date 将更新为 sysdate,data_flag 将更新为 'Y'。

xx_people_ph

IMAGE_ID   NOT NULL NUMBER(15)   
PARENT_ID  NOT NULL NUMBER(15)   
TABLE_NAME NOT NULL VARCHAR2(30) 
IMAGE      NOT NULL BLOB 

现在我正在使用:

insert into xx_photo
SELECT IMAGE_ID ,
  PARENT_ID ,
  Table_Name ,
  Image ,
  'Y',
  Sysdate
FROM Per_Images Img_Tab;

In this statement only , i want to check if the record for same parent_id exists 

在 xx_photo 中。如果它已经存在,则不应在此 table.

中插入数据

我如何修改此查询以仅插入 xx_photo table

中不存在的那些记录

使用Not Exists

INSERT INTO xx_photo (Col1,col2,...)
SELECT image_id, 
       parent_id, 
       table_name, 
       image, 
       'Y', 
       sysdate 
FROM   per_images Img_Tab 
WHERE  NOT EXISTS (SELECT 1 
                   FROM   xx_photo x 
                   WHERE  x.parent_id = Img_Tab.parent_id)