0
我有一个表xx_photo,其中我必须从xx_people_ph表插入数据。从一个表插入数据到另一个已经不存在的sql
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。如果它已经存在,则不应将数据插入此表中。
如何修改这个查询只插入那些已经不会在xx_photo表
存在什么独特组合,以发现是否存在 –
是什么PARENT_ID相关记录到xx_people_ph image_id?如果它不存在,你想要发生什么,只是不插入记录抛出一个错误,插入它为您?如果你只是想停止插入,如果父母不存在,一种方法是使用INNER JOIN来查看它是否存在 – Matt
parent_id在这两个表中都是唯一的ID –