我认为您误解了合并的目的。
我希望您的桌子像这样:
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)
联接在表的主键上的位置,并根据该PK值的记录是否存在而更新或插入。
每天最多有一个记录,并且t将保存每天该语句的执行次数(假设TABLE_FOR_TESTS上没有其他DML)。
注意:sysdate本身包含一个时间成分。trunc(sysdate)会将其删除并将时间设置为00:00:00。



