oracle if else语句使用介绍
编程学习 2021-07-05 16:08www.dzhlxh.cn编程入门
Oracle if else 语句的写法及应用介绍,详细可参考本文
接收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;
已发货,在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;
编程语言
- ThinkPad 笔记本如何调节LCD屏幕亮度
- Dreamweaver制作网页打开特效教程
- Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您
- Win8系统提示音频设备有问题有一个或多个音频服
- Xbox One版Win10首个预览版9月份发布
- 如何在textarea文本输入区内实现换行
- Win10 Build 9901系统更新 预览版新版本下载
- McAfee Framework存在远程格式串处理漏洞
- Win10家庭版今日(7月30)正式在中国官方商城开卖
- Win10 Mobile预览版更新完10536.1000后才收到10536.100
- Win10 RS2更新了什么-Win10 RS2最终版本号1704首曝
- Windows7如何查看回收站对应的文件夹有哪些方法
- Win10让Charms栏回归桌面的方法教程
- 取消Windows XP系统开机启动画面的小技巧
- win8系统怎么下载安装USB百兆网卡?
- XP系统下磁盘空间变少了怎么办?XP系统磁盘空间