ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 采用oracle sequence及function为章节信息表(四级自关联表)批量添加关联数据

采用oracle sequence及function为章节信息表(四级自关联表)批量添加关联数据

原创 Linux操作系统 作者:wisdomone1 时间:2010-07-15 19:07:54 0 删除 编辑
为了批量添加数据
1,先构建要插入表的最大pk 最大值的函数
     
create or replace function f_get_tmp_content_maxid ##可以定义输入参数,同理sp
return char ##返回结果数据类型,不要带具体的数据类型长度比如:char(16)
as  ###这个as下面和sp一样了
v_maxid char(16);  ###这里要定义一个返回结果集的具体数据类型了,哈哈
begin
select lpad(max(chapter_id)+1,16,'0') into v_maxid from c_chapter_info;##用into接受这个返回的数据
return v_maxid;##用return子句返回处理结果 给应用或其他调用端
end;
 
2,先构建序列
     
     create sequence seq_only_maxid start with 65 increment by 1 nomaxvalue;
###注:以上序列最大值源于第1步函数得到的值
 
3,     从临时表中匹配提取用于插入到最终单节信息表的数据
 
select lpad(seq_only_maxid.nextval,16,'0'),a.* from (
select distinct *
from (
select chapter,version,version_id,subjectid,xiuid from tmp_content
     )) a    

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-668129/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690554