Oracle存储过程之数据库中获取数据实例

怎样才能将在表A取得的数据插入另一个表B中?   (1)对于表A和表B两个表结构完全相同的话〔字段个数,相应字段的类型等等〕,可以使用   insert INTO B select FROM A;   insert INTO B(field1,field2,field3) select A.field1,A.field2,A.field3 from A;   (2) 对于两个表如果字段数不一样,但是有几个字段的结构一样时〔类似于父子关系〕,必须使用 insert INTO B(field1,field2) select A.field1,A.field2 from A;   1.用带参数的游标实现insert功能:   create OR REPLACE PROCEDURE GET_DATA(   -- 参数列表: n_task_id IN number,--任务编号
v_task_name IN varchar2,--任务名称
v_name IN varchar2 -- 名称
)   -----------------------------------------------   -- PROCEDURE名 :GET_DATA --   -- 処理内容 :从数据源表取得符合条件的的数据插入到目标数据表: --   -- 引数 :n_tas_id 任务ID,--   -- v_task_namek 任务名称,--   -- v_bdw_name 对数据源表限制条件:本地网名称 --   -----------------------------------------------   IS   --插入行数控制   i_count number(5);   --取数据游标:DATA_CUR(IN_NAME)   --参数:本地网名称:IN_NAME CURSOR DATA_CUR(IN_NAME VARchar2) IS /注意:参数的定义中不带精度/
select

FROM GET_DATA_SRC A
where A.NAME = IN_NAME;
BEGIN   --计数器,控制插入行数   i_count := 0;   --循环插入数据 FOR MYCUR IN DATA_CUR(v_name) LOOP
insert INTO ABC(
ROW_ID,
TASK_ID,
TASK_NAME,
GET_DATA_DT,
CUST_ID,
ASSIGN_FLAG,
DEAL_DATE
)VALUES(
SEQ_KD.NEXTVAL,
N_TASK_ID,
V_TASK_NAME,
SYSDATE,
MYCUR.CUST_ID,
'N',
NULL
);

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...