Oracle函数中游标及递归的应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle函数中游标及递归的应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2269字,纯文字阅读大概需要4分钟。
内容图文
![Oracle函数中游标及递归的应用](/upload/InfoBanner/zyjiaocheng/554/15a35d29166d482881f4f3b366c0f0e7.jpg)
在代码中使用递归可能大部分程序员都不陌生,但是在存储过程或者函数中写个递归估计就不多见了。今天遇到了一个在Oracle函数中使
在代码中使用递归可能大部分程序员都不陌生,但是在存储过程或者函数中写个递归估计就不多见了。
今天遇到了一个在Oracle函数中使用递归的例子,特记录下来,方便以后查阅
CREATE OR REPLACE FUNCTION F_Func(v_pcatalogue IN NUMBER, i_newPcatalogue IN NUMBER, v_authTypeId in number)
RETURN NUMBER
as
v_newCatalogueId number(10);
v_oldCatalogueId number(10);
v_newPcatalogue number(10);
v_count number(10);
v_value number(10);
--根据目录表父节点ID查询目录表数据的游标
Cursor cusor_1(v_pcatalogue number) is
select id, cname, ename, cdescription, edescription, authtype, pcatalogue, orderb, createtime, userid, creater, updatetime, updateuserid, updator, state from t_catalogue
where authtype=v_authTypeId and pcatalogue=v_pcatalogue;
BEGIN
--记录下旧的父节点ID
v_oldCatalogueId := v_pcatalogue;
--记录下新的父节点ID
v_newPcatalogue := i_newPcatalogue;
select count(1) into v_count from t_catalogue where authtype=v_authTypeId and pcatalogue=v_pcatalogue;
if v_count = 0 then
return 1;
else
for c2 in cusor_1(v_oldCatalogueId) loop
--生成新的id及拷贝工作
v_oldCatalogueId := c2.id;
select HIBERNATE_SEQUENCE.NEXTVAL into v_newCatalogueId from dual;
if v_newPcatalogue is null then
select HIBERNATE_SEQUENCE.NEXTVAL into v_newPcatalogue from dual;
end if;
insert into t_catalogue_20140619(id, cname, ename, cdescription, edescription, authtype, pcatalogue, orderb, createtime, userid, creater, updatetime, updateuserid, updator, state)
values(v_newCatalogueId, c2.cname, c2.ename, c2.cdescription, c2.edescription, c2.authtype, v_newPcatalogue, c2.orderb, c2.createtime, c2.userid, c2.creater, c2.updatetime, c2.updateuserid, c2.updator, c2.state);
commit;
--不用变量接值,编译过不了
v_value := F_Func(v_oldCatalogueId, v_newCatalogueId, v_authTypeId);
end loop;
--这个返回很重要
return 1;
end if;
END F_Func;
/
Linux-6-64下安装Oracle 12C笔记
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
本文永久更新链接地址:
内容总结
以上是互联网集市为您收集整理的Oracle函数中游标及递归的应用全部内容,希望文章能够帮你解决Oracle函数中游标及递归的应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。