Oracle里没有if exists这样的语句,所以不能像sql server那样写,Oracle判断是否存在一条记录,可用如下方法实现:
这里先判断表ZDBASE是否存在DEPT_ID='9999'的数据,如果不存在就写入这条数据。
DECLARE
num NUMBER;
BEGIN
SELECT COUNT(*)
INTO num
FROM ZDBASE WHERE DEPT_ID='9999';
IF num = 0 THEN
EXECUTE IMMEDIATE
'INSERT INTO AM_ZDBASE(DEPT_ID,DEPT_CODE,DEPT_NAME,DEPT_NAME_EN,TYPE)
VALUES(''9999'',''66666'',''DEPARTMENT'',''122'',''1'')';
END IF;
END;