oracle如何循环的从一个表里取值,用oracle存储过程取一张表里的数据放入其他表 游标取值...

本文介绍了如何使用Oracle存储过程,通过游标从表T1中获取特定日期的数据,并将其插入到表T2中。首先创建包说明和包主体,定义游标查询T1表,然后在循环中检查数据是否存在,若不存在则调用Insert_T2过程进行插入操作。
摘要由CSDN通过智能技术生成

现已知有一个表T2(id,code,date)需从T1表中取得相应数据。使用oracle的存储过程方法。

如果用sql语言实现大致逻辑是这样的:

insert into T2(id,code,date) select (t.id,t.code,t.date) from T1 t where t.date=to_date('2/23/2016 ','mm/dd/yyyy ');

通过日期查询T1中的数据加入到T2中。

而用存储过程的方法如下:

首先建立包说明:

create or replace package get_to_T1 is

procedure Query_T1;

procedure Insert_T2(

into_id in T1.ID%type,

into_code in T1.CODE%type%type,

into_date in T1.date%type

);

end get_to_T1 ;

然后编写包主题内容:

create or replace package get_to_T1 is

procedure Query_T1

is

m_system_date T1.date%type;

m_c_id T1.ID%type;

m_c_code T1.CODE%type;

num int;

--声明对象

cursor c_policy_main is --定义游标

select t.ID,t.CODE,t.date

from T1 t

where t.date =m_system_date;

--查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值