1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| CREATE GLOBAL TEMPORARY TABLE X.TOTO (ID Format à définir, LIGNE CHAR(200));
INSERT INTO X.TOTO
SELECT un ID unique de ta table,
'UPDATE table ' ||
'SET champ1 = CHAR(1) ' ||
' WHERE champ2 = ' ||''''|| A.champ2 || '''' ||
' AND champ3 = ' ||''''|| A.champ3 || '''' || ';'
FROM table A
GROUP BY A.champ2,A.champ3
WITH UR;
SELECT LIG FROM (
SELECT ID, 1 AS NO, SUBSTR(LIGNE, 1, 15) AS LIG
FROM X.TOTO
UNION ALL
SELECT ID, 2 AS NO, SUBSTR(LIGNE, 16, 20) AS LIG
FROM X.TOTO
UNION ALL
SELECT ID, 3 AS NO, SUBSTR(LIGNE, 36, 18) AS LIG
FROM X.TOTO
UNION ALL
SELECT ID, 4 AS NO, SUBSTR(LIGNE, 54, 22) AS LIG
FROM X.TOTO
...
) AS T
ORDER BY ID, NO
;
DROP TABLE X.TOTO ; |
Partager