在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
怎样才能将在表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 ); |
请发表评论