UPSERT功能的存储过程

UPSERT功能的存储过程,第1张

UPSERT功能的存储过程

您可以使用

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;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5083528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存