更新 手动执行sql合并7个关联字段为一个.sql
This commit is contained in:
parent
352c779b84
commit
4d126b18ad
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
MERGE INTO uf_WLHJMK a
|
MERGE INTO uf_WLHJMK a
|
||||||
USING (
|
USING (
|
||||||
WITH tmp AS (
|
WITH tmp AS (
|
||||||
@ -24,7 +23,7 @@ tmp2 AS (
|
|||||||
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
|
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id,
|
SELECT id,
|
||||||
NVL2(glgcxxsjd, '58505_gcgc' || SUBSTR(','||TO_CHAR(glgcgc)||',', INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL) - 1),'')
|
NVL2(glgcgc, '58505_gcgc' || SUBSTR(','||TO_CHAR(glgcgc)||',', INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glgcgc)||',', ',', 1, LEVEL) - 1),'')
|
||||||
FROM tmp
|
FROM tmp
|
||||||
CONNECT BY LEVEL <= LENGTH(glgcgc) - LENGTH(REPLACE(glgcgc, ',', '')) + 1
|
CONNECT BY LEVEL <= LENGTH(glgcgc) - LENGTH(REPLACE(glgcgc, ',', '')) + 1
|
||||||
AND PRIOR id = id
|
AND PRIOR id = id
|
||||||
@ -32,7 +31,7 @@ tmp2 AS (
|
|||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id,
|
SELECT id,
|
||||||
NVL2(glgcxxsjd, '58505_zb' || SUBSTR(','||TO_CHAR(glzbgl)||',', INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL) - 1),'')
|
NVL2(glzbgl, '58505_zb' || SUBSTR(','||TO_CHAR(glzbgl)||',', INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glzbgl)||',', ',', 1, LEVEL) - 1),'')
|
||||||
FROM tmp
|
FROM tmp
|
||||||
CONNECT BY LEVEL <= LENGTH(glzbgl) - LENGTH(REPLACE(glzbgl, ',', '')) + 1
|
CONNECT BY LEVEL <= LENGTH(glzbgl) - LENGTH(REPLACE(glzbgl, ',', '')) + 1
|
||||||
AND PRIOR id = id
|
AND PRIOR id = id
|
||||||
@ -40,7 +39,7 @@ tmp2 AS (
|
|||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id,
|
SELECT id,
|
||||||
NVL2(glgcxxsjd, '58505_ht' || SUBSTR(','||TO_CHAR(glhtgl)||',', INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL) - 1),'')
|
NVL2(glhtgl, '58505_ht' || SUBSTR(','||TO_CHAR(glhtgl)||',', INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glhtgl)||',', ',', 1, LEVEL) - 1),'')
|
||||||
FROM tmp
|
FROM tmp
|
||||||
CONNECT BY LEVEL <= LENGTH(glhtgl) - LENGTH(REPLACE(glhtgl, ',', '')) + 1
|
CONNECT BY LEVEL <= LENGTH(glhtgl) - LENGTH(REPLACE(glhtgl, ',', '')) + 1
|
||||||
AND PRIOR id = id
|
AND PRIOR id = id
|
||||||
@ -48,7 +47,7 @@ tmp2 AS (
|
|||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id,
|
SELECT id,
|
||||||
NVL2(glgcxxsjd, '58505_tb' || SUBSTR(','||TO_CHAR(gltbgl)||',', INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL) - 1),'')
|
NVL2(gltbgl, '58505_tb' || SUBSTR(','||TO_CHAR(gltbgl)||',', INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(gltbgl)||',', ',', 1, LEVEL) - 1),'')
|
||||||
FROM tmp
|
FROM tmp
|
||||||
CONNECT BY LEVEL <= LENGTH(gltbgl) - LENGTH(REPLACE(gltbgl, ',', '')) + 1
|
CONNECT BY LEVEL <= LENGTH(gltbgl) - LENGTH(REPLACE(gltbgl, ',', '')) + 1
|
||||||
AND PRIOR id = id
|
AND PRIOR id = id
|
||||||
@ -56,7 +55,7 @@ tmp2 AS (
|
|||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT id,
|
SELECT id,
|
||||||
NVL2(glgcxxsjd, '58505_qt' || SUBSTR(','||TO_CHAR(glqtgl)||',', INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL) - 1),'')
|
NVL2(glqtgl, '58505_qt' || SUBSTR(','||TO_CHAR(glqtgl)||',', INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL) + 1, INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL + 1) - INSTR(','||TO_CHAR(glqtgl)||',', ',', 1, LEVEL) - 1),'')
|
||||||
FROM tmp
|
FROM tmp
|
||||||
CONNECT BY LEVEL <= LENGTH(glqtgl) - LENGTH(REPLACE(glqtgl, ',', '')) + 1
|
CONNECT BY LEVEL <= LENGTH(glqtgl) - LENGTH(REPLACE(glqtgl, ',', '')) + 1
|
||||||
AND PRIOR id = id
|
AND PRIOR id = id
|
||||||
|
Loading…
x
Reference in New Issue
Block a user