您可以使用
DUP_VAL_ON_INDEX异常来处理它。
您可以在您的过程中添加以下代码,该代码应符合您的要求。
CREATE OR REPLACe PROCEDURE TABLE_UPSERT (v_id IN NUMBER, v_searches IN VARCHAr2(20), v_account IN VARCHAr2(20)) ASBEGIN INSERT INTO table (id, searches, account) VALUES (v_id, v_searches, v_account) ;EXCEPTION WHEN DUP_VAL_ON_INDEX THEN UPDATE TABLE SET searches = v_searches, account = v_account WHERe id = v_id;END;/
您可以在此处和此处阅读有关DUP_VAL_ON_INDEX异常的更多信息。
DECLARE l_count number;BEGIN SELECT count(*) INTO l_count FROM table WHERe id = (value); IF l_count = 0 THEN INSERT into table VALUES ....; ELSE UPDATE table SET searches = .., account = ..; END IF;END;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)