oracle if else语句使用详解
发布时间:2021-12-08 12:02:17 所属栏目:PHP教程 来源:互联网
导读:接收contract_no和item_no值,在inventory表中查找,如果产品:W 已发货,在arrival_date中赋值为今天后的7天W 已订货,在arrival_date中赋值为今天后的一个月W 既无订货又无发货,则在arrival_date中赋值为今天后的两个月,W 并在order表中增加一条新的订单
接收contract_no和item_no值,在inventory表中查找,如果产品:W 已发货,在arrival_date中赋值为今天后的7天W 已订货,在arrival_date中赋值为今天后的一个月W 既无订货又无发货,则在arrival_date中赋值为今天后的两个月,W 并在order表中增加一条新的订单记录。W product_status的列值为'shipped'和'ordered'W inventory:W product_idWnumber(6)W product_descriptionWchar(30)W product_statusWchar(20)W std_shipping_qtyWnumber(3)W contract_item:W product_id number(6)W contract_noWnumber(12)W item_noWnumber(6)W arrival_dateWdateW order:W order_idWnumber(6)W product_idWnumber(6)W qtyWnumber(3)W 代码: 复制代码 代码如下: declare i_product_id inventory.product_id%type; i_product_description inventory.product_description%type; i_product_status inventory.product_status%type; i_std_shipping_qty inventory.std_shipping_qty%type; begin //sql语句,将查询出来的值放到定义的变量中 select product_id, product_description, product_status, std_shipping_qty into i_product_id, i_product_description, i_product_status, i_std_shipping_qty from inventory where product_id=( select product_id from contract_item where contract_no=&&contract_no and item_no=&&item_no ); if i_product_status='shipped' then update contract_item set arrival_date=sysdate+7 contract_no=&&contract_no and item_no=&&item_no; //这里的elseif 是连着写的 elseif i_product_status='ordered'WthenW updateWcontract_itemW setWarrival_date=add_months(sysdate,1)W//加一个月 whereWitem_no=&&itemnoWandWcontract_no=&&contractno;W else updateWcontract_itemW setWarrival_date=add_months(sysdate,2)W whereWitem_no=&&itemnoWandWcontract_no=&&contractno;W insertWintoWordersW values(100,i_product_id,i_std_shipping_qty);W end if; end if; commit; end; ![]() (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |