oracle - 更新基表列,使用辅助表,我们将在其中运行更新的层次结构
问题描述
我们有一个基表(例如员工表)和一个辅助表,其中主要有两件事 1)在更新基表时要考虑层次结构(0-10) 2)针对每个层次结构,我们在这一列中还有另一列称为“COLS”具有诸如“EMPLOYEE_ID = 100”、“HIRE_DATE BETWEEN SYSDATE-90 AND SYSDATE”之类的值
我们需要通过运行辅助表中的层次结构来更新基表字段“VALS”并选择“COLS”列中的列并相应更新
我尝试使用集合来获取所有列名和值 'EMPLOYEE_ID = 100' 作为 FIELD = EMPLOYEE_ID 和 VALS = 100 用于辅助表的“COLS”列中的所有值
DECLARE
TYPE scio_r IS RECORD (cols VARCHAR2(40), valus NUMBER, HIER NUMBER);
TYPE scio_a IS TABLE OF scio_r;
nt_scio scio_a := scio_a();
COL VARCHAR2(40);
BEGIN
SELECT REGEXP_SUBSTR(cols,'\S+') field,
REGEXP_SUBSTR(cols,'[[:digit:]]+') vals,
HIERARCHY
BULK COLLECT INTO nt_scio
FROM temp_table ;
FOR x IN nt_Scio.FIRST..nt_Scio.LAST LOOP
col := CASE WHEN x = nt_scio(x).hier THEN nt_scio(x).cols END;
DBMS_OUTPUT.PUT_LINE(col);
/*DBMS_OUTPUT.PUT_LINE(nt_scio(x).cols);
DBMS_OUTPUT.PUT_LINE(nt_scio(x).valus);*/
END LOOP;
END;
/
````enter image description here[enter image description here][1]
[enter image description here][2]
[1]: https://i.stack.imgur.com/51pm3.jpg
[2]: https://i.stack.imgur.com/pGIhD.jpg
解决方案
推荐阅读
- chef-solo - 如何加密数据包并在厨师独奏食谱中使用它们
- vb.net - Crystal Reports 除以零,但有问题仅检查零以突出显示零
- javascript - React 无法使用 (props)=> 访问类外的 props 值
- python - 熊猫系列列表中的索引
- excel - 更改单元格颜色后获取 Excel 中活动单元格的先前格式(VBA)
- webpack - webpack:如何使用内联(base64)url 包含指向 css 文件的链接
- python - 如何使用 python openCV 在图像上放置徽标?
- vb.net - VB.NET - 以编程方式关闭图表数据对象
- dialogflow-es - 您可以强制 Dialogflow 提取日期时间实体而不是单独的日期和时间实体吗?
- java - Java 泛型方法定义