【发布时间】:2015-12-10 00:11:07
【问题描述】:
我使用 Oracle 数据库。我很困惑如何在存储过程中编写 if 条件。
我有四张桌子。
表 1:t1
╔════════════╦═════╗
║ CustomerID ║ Year║
╠════════════╬═════╣
║ ACC20011 ║ 2001║
║ ACC30122 ║ 2001║
║ ACC12356 ║ 2002║
║ EVG12345 ║ 2003║
║ DAA23445 ║ 2003║
║ DAA23548 ║ 2003║
╚════════════╩═════╝
表 2:t2
╔════════════╦═════╗
║ CustomerID ║ Year║
╠════════════╬═════╣
║ ACC20011 ║ 2001║
║ ACC30122 ║ 2001║
║ ACC12356 ║ 2002║
║ EVG12345 ║ 2003║
║ DAA23445 ║ 2003║
║ DAA23548 ║ 2003║
╚════════════╩═════╝
表 3:t3
╔════════════╦═════╗
║ CustomerID ║ Year║
╠════════════╬═════╣
║ ACC20011 ║ 2001║
║ ACC30122 ║ 2002║
║ ACC00001 ║ 2003║
║ EVG00002 ║ 2003║
║ DAA23048 ║ 2003║
║ DAA23548 ║ 2001║
╚════════════╩═════╝
结果表:t4
╔════════════╦═════╗
║ CustomerID ║ Year║
╠════════════╬═════╣
║ ACC00001 ║ 2003║
║ EVG00002 ║ 2003║
║ DAA23048 ║ 2003║
╚════════════╩═════╝
表 t1、t2 相同。当输入为“2003”时,应检查t1、t2是否存在“2003”,并将t3中“2003”的CustomerID复制到t4。
我很困惑如何给出 if 条件。年份应该在所有三个表中。如果在 t1、t2、t3 中为“2003”,则更新 t4。
【问题讨论】:
-
当然,如果您遇到一个小问题,您现在必须编写一个不完整的程序。可以发一下吗?
标签: oracle stored-procedures plsql oracle-sqldeveloper