我有一张只有4列的表
第一列 - 来自另一个表的每一行的连接列值。根据元数据表中的列ID连接列。连接的顺序与列ID的顺序相同。 第二列 - 我有逗号分隔的主键列。 现在,根据第二列中的主键,我需要更新第3列,它将从第一个连接字段中的每个字段检索主键的值。
4列_它有表名。
我正在使用游标和字符串函数,它工作得非常好,但是当我测试它时,数以百万计的数据,它失败了,性能非常差。
有人可以给我一个相同的更新查询吗
有一个比较工具,用于比较不同数据库中2个表之间的数据,但具有相同的数据结构,并将不匹配的行转储到一个表中,所有列连接在一起(管道分开)。列的顺序与列id和我知道该表的主键(连接但管道分离)。因此,基于此数据,我需要提取存在数据不匹配的主键值。
我需要做类似
的事情更新column4(从column2中提取的主键值管道分离)
答案 0 :(得分:0)
检查此LINK,可能会有用。使用该查询,您可以将值与您需要的字符连接(这适用于11g2版本,对于早期版本使用xmlagg ,xmlelement,提取方法)。
CREATE TABLE TEST(
FIELD INT);
INSERT INTO TEST VALUES(1);
INSERT INTO TEST VALUES(2);
INSERT INTO TEST VALUES(3);
INSERT INTO TEST VALUES(4);
SELECT listagg(FIELD,',' ) WITHIN GROUP (ORDER BY FIELD)
FROM TEST
返回'1,2,3,4'