这里以Oracle 18c为例
此处实现的功能是类似与mysql的replace into的功能。
原理就是写个存储过程,接收参数,先删,然后再插入。
SQL语句如下:
CREATE OR REPLACE procedure plantInsert(
I_XXXX_ID in VARCHAR,
I_ZZZZ_ID in VARCHAR,
I_YYYY_TIME in VARCHAR,
I_CCCC_TYPE in VARCHAR,
......
......
I_P96 in NUMBER
)
IS
BEGIN
delete from XXXXXXXX where DATA_TIME=TO_TIMESTAMP(I_YYYY_TIME, 'SYYYY-MM-DD HH24:MI:SS:FF6') and XXXX_ID=I_XXXX_ID and CCCC_TYPE=I_CCCC_TYPE;
INSERT INTO XXXXXXXX VALUES (略);
END;
SQL调用如下:
call PLANTINSERT(略)