oracle if else语句使用介绍

所属分类: 数据库 / oracle 阅读数: 51
收藏 0 赞 0 分享
接收contract_no和item_no值,在inventory表中查找,如果产品:
已发货,在arrival_date中赋值为今天后的7天
已订货,在arrival_date中赋值为今天后的一个月
既无订货又无发货,则在arrival_date中赋值为今天后的两个月,
并在order表中增加一条新的订单记录。

product_status的列值为'shipped'和'ordered'
inventory:
product_idnumber(6)
product_descriptionchar(30)
product_statuschar(20)
std_shipping_qtynumber(3)
contract_item:
product_id number(6)
contract_nonumber(12)
item_nonumber(6)
arrival_datedate
order:
order_idnumber(6)
product_idnumber(6)
qtynumber(3)

代码:
复制代码 代码如下:

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'then
updatecontract_item
setarrival_date=add_months(sysdate,1)//加一个月
whereitem_no=&&itemnoandcontract_no=&&contractno;
else
updatecontract_item
setarrival_date=add_months(sysdate,2)
whereitem_no=&&itemnoandcontract_no=&&contractno;
insertintoorders
values(100,i_product_id,i_std_shipping_qty);
end if;
end if;
commit;
end;
更多精彩内容其他人还在看

Oracle批量插入数据的三种方式【推荐】

本文给大家带来三种oracle批量插入数据的方法,每种方法都是通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
收藏 0 赞 0 分享

Oracle数据库自带表空间的详细说明

这篇文章主要介绍了Oracle数据库自带表空间的详细说明,文中给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle锁处理、解锁方法

本文通过实例代码较详细的给大家介绍了Oracle锁处理、解锁方法,需要的朋友可以参考下
收藏 0 赞 0 分享

浅析Oracle中sys、system和Scott用户下的数据库连接问题

这篇文章主要介绍了关于Oracle中sys、system和Scott用户下的数据库连接问题,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle表空间数据库文件收缩案例解析

这篇文章主要介绍了Oracle表空间数据库文件收缩案例解析,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle 日志挖掘(LogMiner)使用详解

这篇文章主要介绍了Oracle 日志挖掘(LogMiner)使用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

maven添加oracle依赖失败问题的处理方法

这篇文章主要介绍了maven添加oracle依赖失败问题的处理方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Flume监听oracle表增量的步骤详解

这篇文章主要介绍了Flume监听oracle表增量的步骤详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Window下Oracle Database 11g 发行版2安装教程

这篇文章主要为大家详细介绍了Window下Oracle Database 11g 发行版2安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Oracle 11g 安装配置图文教程

这篇文章主要为大家详细介绍了Oracle 11g 安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多