将一个 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)
我有一个 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)