接收contract_no和item_no值,在inventory表中查找,如果产品:已发货,在arrival_date中赋值为今天后的7天已订货,在arriva

接收contract_no和item_no值,在inventory表中查找,如果产品:

已发货,在arrival_date中赋值为今天后的7天

已订货,在arrival_date中赋值为今天后的一个月

既无订货又无发货,则在arrival_date中赋值为今天后的两个月,

并在order表中增加一条新的订单记录。

product_status的列值为'shipped'和'ordered'

inventory:

product_idnumber(6)

product_descriptionchar(30)

product_statuschar(20)

std_shipping_qtynumber(3)

contract_item:

product_id number(6)

contract_nonumber(12)

item_nonumber(6)

arrival_datedate

order:

order_idnumber(6)

product_idnumber(6)

qtynumber(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

updatecontract_item

setarrival_date=add_months(sysdate,1)//加一个月

whereitem_no=&&itemnoandcontract_no=&&contractno;

else

updatecontract_item

setarrival_date=add_months(sysdate,2)

whereitem_no=&&itemnoandcontract_no=&&contractno;

insertintoorders

values(100,i_product_id,i_std_shipping_qty);

end if;

end if;

commit;

end;

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql if语句 oracle,Oracleifelse语句的写法实例相关推荐

  1. oracle plsql递归查询语句,oracle with 语句实现递归查询

    Oracle with 语句可以实现如同connect by 语句一样的序列: connect by用法 使用rownum实现1到10的序列.select rownum from dual conne ...

  2. oracle+执行变量语句,ORACLE sql 语句的执行过程(SQL性能调整)

    第1章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句. 本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语 ...

  3. oracle的show语句,Oracle查询语句应用经验总结

    51Testing软件测试网;M8eC&p;F3F [ 以下的主要是介绍查询语句的实际应用的经验总结,你如果对Oracle查询语句的实际应用感兴趣的话你就可以点击以下的文章进行观看了. 希望会 ...

  4. oracle 优化分组 sql语句,Oracle SQL语句之常见优化方法 五

    0.低效SQL语句查询: SELECT b.sql_text, --SQL內容 a.sid, a.serial#, a.status, a.machine, --哪台机器運行的SQL a.userna ...

  5. oracle revoke语句,Oracle ROLLBACK语句

    在Oracle中,ROLLBACK语句可以用来撤销当前事务或有问题的事务.本教程就将教大家如何使用ROLLBACK语句. ROLLBACK语法 ROLLBACK [ WORK ] [ TO [SAVE ...

  6. oracle 停止触发器语句,oracle触发器语句

    ORACLE中触发器的判断IF语句 加一行 NULL 即可例如:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF ...

  7. oracle数据库存储结构语句,oracle基本语句(第五章、数据库逻辑存储结构管理)...

    1.使用SYS用户以SYSDBA身份登录到SQL Plus,使用视图V$TABLESPACE查看表空间信息 SELECT * FROM V$TABLESPACE; 2.查看视图DBA_TABLESPA ...

  8. oracle output语句,Oracle Returning 语句用法总结

    场景 在存储过程.PL/SQL块里需要返回INSERT.DELETE.UPDATE.MERGE等DML语句执行后的信息时使用,合理使用returning能够简化程序逻辑.提高程序性能. 概述 创建测试 ...

  9. oracle和mysql查询_ORACLE 数据库 查询语句与DML语句

    一.查询语句 ORACLE 数据库中获得数据表中的结果,称为查询语句,其关键词是 select(下面其所有的示例均为scott模式下的对象) 1.1 查询语句基础 1.1.1 获得表中全部字段与结果 ...

最新文章

  1. 年末裁员事件背后的启示录(1)
  2. redis数据结构详解之Hash(四)
  3. java语句梗_请大神给我解释一下下面这句JAVA语句的意思
  4. android qq红包,Android实现QQ抢红包插件
  5. apache 支持.htaccess重写url
  6. 属性值动态调整_这可能是你见过最牛的CAD粗糙度动态块了!
  7. python模糊图像清晰化_视频模糊图像处理
  8. R语言学习 - 非参数法生存分析
  9. JSP技术模型(五)JSP隐含变量
  10. C# 程序异常关闭时的捕获
  11. 语音信号处理的一些基础知识
  12. 别对“智能写作”太过情感依赖
  13. 入侵检测技术框架总论
  14. 单相/三相桥相/线电压基波幅值总结
  15. 【献血小常识】------- 献血者健康检查标准
  16. Linux top命令查看多核CPU每个核心的使用率
  17. 【我可能学的是假英语】英语、中式英语、偏误英语1
  18. Pytest-Python单元测试
  19. ros1-gazebo创建世界和机器人模型(单线雷达、多线雷达、相机)
  20. 【Mac】从0开始用node.js制作爬取结果的查询网站

热门文章

  1. 散列表的设计与实现_python基础之字典与集合实现
  2. php javascript wav波形绘制,PHP分析.wav文件并绘制png格式的波形图
  3. 项目使用mysql接收emoji表情
  4. CentOS中如何搭建Dubbo
  5. facebox目标检测改进
  6. OpenVINO FPS也可以达100帧
  7. 当前不会命中断点.还没有为该文档加载任何符号解决
  8. 在编程和算法领域,有哪些经典问题
  9. dsst依赖opencv
  10. 【OpenCV】邻域滤波:方框、高斯、中值、双边滤波