मुझे लगता है कि आपने गलत समझा है कि विलय क्या है।
मुझे उम्मीद है कि आपकी टेबल कुछ इस तरह होगी:
CREATE TABLE TABLE_FOR_TESTS (
d DATE,
t NUMBER(8),
CONSTRAINT TABLE_FOR_TESTS_PK PRIMARY KEY (d)
)
और फिर मर्ज स्टेटमेंट हो सकता है:
MERGE INTO TABLE_FOR_TESTS t
USING (SELECT trunc(sysdate) d FROM DUAL) s
ON (s.d = t.d)
WHEN MATCHED THEN
UPDATE SET t = t+1
WHEN NOT MATCHED THEN
INSERT (d, t) VALUES (trunc(sysdate), 1)
जहां जॉइन टेबल की प्राथमिक कुंजी पर है और या तो उस पीके मान के लिए रिकॉर्ड मौजूद है या नहीं, इस पर निर्भर करते हुए अपडेट या सम्मिलित करें।
इसमें प्रति दिन अधिकतम एक रिकॉर्ड होगा और टी प्रति दिन इस कथन के निष्पादन की संख्या रखेगा (यह मानते हुए कि TABLE_FOR_TESTS पर कोई अन्य DML नहीं है)।
नोट:sysdate अपने आप में एक समय घटक शामिल करता है। trunc(sysdate) इसे हटाता है और समय को 00:00:00 पर सेट करता है।