@hengbao
2018-06-04T06:52:42.000000Z
字数 556
阅读 975
Oracle
假如我们正在经营一家餐馆,现在我们重新构建了一个点菜系统。需要把原来的点菜系统的食品代码和名称更新到新的系统里来,很不幸,两个系统需要并行一段时间,且用的数据库还不同。不过你可以通过请求server端接口,获取这些值。以下,就是一个Oracle版本的更新/插入的例子:
CREATE OR REPLACE PROCEDURE upsert_food(IN_FOOD_CODE IN varchar2,IN_FOOD_NAME IN varchar2) ASfood_id number(16);cnt number(5);BEGINselect count(*) into cnt from myfood where food_code=IN_FOOD_CODE ;if cnt = 0 thenselect FOOD_SEQ.nextval into food_id from dual;INSERT INTO myfoodVALUES (food_id ,IN_FOOD_CODE ,IN_FOOD_NAME );elseUPDATE myfood fSET f.food_name = IN_FOOD_NAMEWHERE f.food_code = IN_FOOD_CODE ;end if;END upsert_food;
