繁体   English   中英

ORACLE PL/SQL 如何在过程中创建 ParentID

[英]ORACLE PL/SQL How to create ParentID in Procedure

我有一个从表中加载数据的过程,并且具有“子”和“父”关系(DEPARTMENT_CODE 和 PARENT_DEPARTMENT_CODE)。 所以我也有两列带有这些列的ID,列“ID_DEPARTMENT”是从Oracle创建表自动递增的,但是“PARENTID_DEPARTMENT”需要根据上面提到的两列填写“ID_DEPARTMENT”。 对于没有父项的字段,您应该将其留空。

也就是说,您如何在 Oracle 的“插入”过程中执行此操作?

我有的:

在此处输入图像描述

我需要的:

在此处输入图像描述

谢谢!

我假设您的表名为 YourTable

UPDATE YourTable t1 
SET t1.PARENTID_DEPARTMENT = (SELECT t2.ID_DEPARTMENT
                              FROM YourTable t2 
                              WHERE t1.PARENT_DEPARTMENT_CODE = t2.DEPARTMENT_CODE)
WHERE t1.PARENT_DEPARTMENT_CODE <> ''
AND EXISTS (SELECT t2.ID_DEPARTMENT
            FROM YourTable t2 
            WHERE t1.PARENT_DEPARTMENT_CODE = t2.DEPARTMENT_CODE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM