请高手帮忙啊:
我有2个表:
表1:
品番 上报日期 到货日期 到货数
a 2011/04/01
b 2011/04/02表2:
品番 到货日期 到货数
a 2011/03/20 3
a 2011/04/03 2
b 2011/02/12 6如何写一个存储过程:
从表1的第条记录开始循环表2,从表2中查询:
表2.品番=表1.品番 and 表2.到货日期>=表1.上报日期
将表2中的满足以上条件的到货日期,到货数更新到表1中?
我有2个表:
表1:
品番 上报日期 到货日期 到货数
a 2011/04/01
b 2011/04/02表2:
品番 到货日期 到货数
a 2011/03/20 3
a 2011/04/03 2
b 2011/02/12 6如何写一个存储过程:
从表1的第条记录开始循环表2,从表2中查询:
表2.品番=表1.品番 and 表2.到货日期>=表1.上报日期
将表2中的满足以上条件的到货日期,到货数更新到表1中?
解决方案 »
- 求SQL语句--两个时间范围是否有交集
- 求数据结构设计或源代码
- 兄弟们,Oracle救急呀!!!
- Long 类型 模糊查询问题
- 小弟不才,求一条sql语句
- ORACLE如何启动不同的实例?
- j2ee 1.4server的deploytool中如何建立Oracle的数据源呢?
- 游标的使用问题!!!!请大家指教!!!!!!!!!!!!!不好意思啦。。。。。
- select * from "tbl_name"可以,为什么select * from tbl_name不可以?
- PL/SQL CTRL 鼠标左键 超链接跳转这个功能如何设置
- insert update联合用,在线等,急
- PL/SQL 动态SQL
create table goods_tb1(
name varchar2(2),
stor_dt date,
arr_dt date,
num number(5));
--
create table goods_tb2(
name varchar2(2),
arr_dt date,
num number(5));
--
create or replace procedure pro_update_goods
as
begin
update goods_tb1
set (arr_dt,num)=
(select arr_dt,num from goods_tb2
where goods_tb2.name=goods_tb1.name and
goods_tb2.arr_dt>goods_tb1.stor_dt);
end pro_update_goods;
--
SQL> select * from goods_tb1;
NAME STOR_DT ARR_DT NUM
---- ----------- ----------- ------
a 2011-4-1
b 2011-4-2 SQL> select * from goods_tb2;
NAME ARR_DT NUM
---- ----------- ------
a 2011-3-20 3
a 2011-4-3 2
b 2011-2-12 6SQL> exec pro_update_goods;
PL/SQL procedure successfully completedSQL> select * from goods_tb1;
NAME STOR_DT ARR_DT NUM
---- ----------- ----------- ------
a 2011-4-1 2011-4-3 2
b 2011-4-2