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 № 1Non 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;