【发布时间】:2020-06-17 09:14:30
【问题描述】:
我需要更新表 B 的列 Value 和表 CLOB 类型的 A
Table A
ID Value
1001 ABC
1002 CDE
1003 ABC
1004 PWD
表B更新如下:
ID - varchar2(355)
Value - CLOB
ID Value
ABC 1001!1003
CDE 1002
PWD 1004
【问题讨论】:
我需要更新表 B 的列 Value 和表 CLOB 类型的 A
Table A
ID Value
1001 ABC
1002 CDE
1003 ABC
1004 PWD
表B更新如下:
ID - varchar2(355)
Value - CLOB
ID Value
ABC 1001!1003
CDE 1002
PWD 1004
【问题讨论】:
看起来更像INSERT,而不是UPDATE。无论如何,LISTAGG 在这两种情况下都会有所帮助。
SQL> insert into b (id, value)
2 select a.value, listagg(a.id, '!') within group (order by a.id)
3 from a
4 group by a.value;
3 rows created.
SQL> select * From b;
ID VALUE
---------- --------------------------------------------------
ABC 1001!1003
CDE 1002
PWD 1004
SQL>
【讨论】: