我有一个PL/SQL过程,它在运行时接受字符串,这个字符串是逗号分隔的,拆分它并推入表中。这里给出了过程和表的例子:过程是push_data。插入数据的当前表是push_data_temp。
https://dbfiddle.uk/?rdbms=oracle_18&fiddle=fae31c11a4ad6205ebcaa418a0bffffd
现在,根据要求,我需要编写一个新的过程,其中逻辑将保持相同的分裂数据,但在新的表push_data_pivot(结构内部枢轴),应该显示数据旋转的这种格式。
例:如果目前push_data_temp中的数据是:

在新的过程中,数据应该以push_data_pivot的形式进入,如下所示:

逻辑应该保持不变,只是插入的数据将进入列而不是行,填充id列和值列。
这里的列id是两个表中传递的字符串的唯一标识符。基本上,它与原表中所用的相同。
PUSH_DATA_PIVOT:
create table PUSH_DATA_PIVOT
(
id_pk NUMBER,
id NUMBER,
label_id number,
label varchar2(4000),
value varchar2(4000)
);
insert into push_data_pivot values(1,null,'COL01',null);
insert into push_data_pivot values(1,null,'COL02',null);
insert into push_data_pivot values(1,null,'COL03',null);
insert into push_data_pivot values(1,null,'COL04',null);
insert into push_data_pivot values(1,null,'COL05',null);
insert into push_data_pivot values(1,null,'COL06',null);
insert into push_data_pivot values(1,null,'COL07',null);
insert into push_data_pivot values(1,null,'COL08',null);
insert into push_data_pivot values(1,null,'COL09',null);
insert into push_data_pivot values(1,null,'COL10',null);
insert into push_data_pivot values(1,null,'COL11',null);
insert into push_data_pivot values(1,null,'COL12',null);
insert into push_data_pivot values(1,null,'COL13',null);
insert into push_data_pivot values(1,null,'COL14',null);示例数据为单个字符串,对于单个label_id和相应的列标签values.However实际表,将在id列的基础上插入多个此类字符串,与原始要求相同。
。
发布于 2020-11-13 15:51:12
https://dba.stackexchange.com/questions/279495
复制相似问题