/ / Come aggiornare più record in una tabella? - sql, plsql, db2

Come aggiornare più record in una tabella? - sql, plsql, db2

Devo aggiornare la colonna B in una tabella, che ha una colonna A come chiave primaria, con un valore diverso per ogni valore nella colonna A. Ci sono circa 50.000 righe da aggiornare nella tabella, il che rende impossibile farlo manualmente. C'è un altro modo per aggiornarlo?

Di tutti i record nella tabella, voglio aggiornaresolo 50000. Per ogni record tra questi 50.000, il valore da aggiornare è diverso. Come posso aggiornare la tabella senza dover scrivere 50.000 query di aggiornamento?

Column A.   Column B
One.             1
Two              2
Three            3

Voglio aggiornare one=4, two=5 e così via per circa 50.000 file.

Grazie in anticipo ragazzi!

risposte:

0 per risposta № 1

Non so se ho soddisfatto correttamente la tua richiesta, ma ho scritto uno snippet di lavoro sotto per replicare lo scenario. Fammi sapere se questo aiuta

--Drop any existing table if present with same name
DROP TABLE SIMPLE_UPDATE;


--Create new table
CREATE TABLE SIMPLE_UPDATE
(
COL1 NUMBER,
COL2 VARCHAR2(2000 CHAR)
);

-- Inserting random test data
INSERT INTO SIMPLE_UPDATE
SELECT LEVEL,TO_CHAR(TO_DATE(LEVEL,"J"),"JSP") FROM DUAL
CONNECT BY LEVEL < 500;

-- Updating the col2 value assuming thta the increment is adding 3 to each number and updating the col2 with the same.

UPDATE SIMPLE_UPDATE
SET COL2 = COL1+3
WHERE <COL_NAME> = <CONDITON>;

COMMIT;