इस मामले में आपको नीचे दिए गए MERGE स्टेटमेंट का उपयोग करना चाहिए:
DECLARE
l_date DATE:=TO_DATE('01/04/2017','DD/MM/YYYY');
BEGIN
LOOP
EXECUTE IMMEDIATE 'MERGE INTO EMPSHIFT E
USING SCHEDULEEMPLOYEES S
ON (S.EMPLOYEEID=E.EMPLOYEEID AND S.DAYDATE=TO_DATE('''||TO_CHAR(l_date)||''',''DD/MM/YYYY''))
WHEN MATCHED
THEN UPDATE SET E."'||TO_CHAR(l_date)||'"=S.SHIFT';
l_date:=l_date+1;
EXIT
WHEN l_date>TO_DATE('30/04/2017','DD/MM/YYYY');
END LOOP;
END;
आपने उल्लेख किया है कि आप रिकॉर्ड्स को अपडेट करना चाहते हैं, लेकिन यदि आप लापता रिकॉर्ड्स (EMPLOYEEID को EMPSHIFT तालिका में गुम होने के लिए) सम्मिलित करना चाहते हैं, तो कृपया merge_insert_clause