oracle数据库树形结构表,某个节点的复制

有这么一个业务需求,需要将树节点进行复制,当然也要复制这个节点下的子节点,截图如下:

首先查询出需要复制的所有节点信息:

SELECT T.*,LEVEL GRADE,CONNECT_BY_ISLEAF ISLEAF FROM TABLE1 T START WITH T.ID = 'HT8A57F0B21AFC7061A15BF2F4BC5F4914' CONNECT BY PRIOR T.ID = T.FJID
String strNewJlid = function.newGuid().substring(3, 10);
				// 循环修改主键值
				for (int i = 0; i < treeList.size(); i++)
				{
					// 记录序号
					String strJlxh = treeList.get(i).get(strTbzj).toString();
					// 父级序号
					String strFjid = treeList.get(i).get("FJID") == null ? "" : treeList.get(i).get("FJID").toString();
					// 层级
					String strGrade = treeList.get(i).get("GRADE").toString();
					
					// 修改jlid
					treeList.get(i).put(strTbzj, strJlxh.substring(0, 27) + strNewJlid);
					if (!"1".equals(strGrade))
					{
						// 修改父级id
						treeList.get(i).put("FJID", strFjid.substring(0, 27) + strNewJlid);
					}
				}

strNewJlid表示一个8位数的随机数,类似SELECT SYS_GUID() FROM DUAL 查询到的树,只是这个是8位的,treeList表示需要复制的数据,strGrade表示树的层级,1表示第一级。

思路就是用一个8位数的随机数,来替换原先数据的id和fjid中的后八位,来作为新的复制出来的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle EBS(Enterprise Business Suite)中,树形结构的 FORM 开发方式主要涉及以下几个步骤: 1. 创建数据库:首先,您需要创建一个数据库来存储树形结构的数据。该应该包含一个列来存储节点的唯一标识符,以及其他必要的列来存储节点的父子关系和其他属性。 2. 创建 FORM:使用 Oracle Forms Builder 工具创建一个新的 FORM。在 FORM 中,您可以定义界面元素(如按钮、文本框等)来显示和编辑树形结构的数据。 3. 定义数据块:在 FORM 中,您需要定义一个数据块来读取和管理树形结构的数据。该数据块应该与您在步骤1中创建的数据库相关联。 4. 设计布局:使用 FORM Builder 工具的布局编辑器,您可以设计 FORM 的布局。您可以将界面元素放置在适当的位置,并设置它们的属性、样式和事件。 5. 实现树形结构逻辑:使用 Oracle Forms Builder 的触发器和编程语言(如 PL/SQL),您可以实现树形结构的逻辑。例如,您可以编写代码来加载节点、展开或折叠节点、添加或删除节点等。 6. 测试和调试:完成 FORM 的设计和编码后,您应该进行测试和调试以确保它正常工作,并满足您的需求和预期。 以上是一种常见的开发方式,但具体的实现方法可能因您的需求和环境而有所不同。您可以根据 Oracle EBS 的文档和相关资源,以及参考其他开发者的经验,来进一步了解和完善树形结构 FORM 的开发方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值