Potrebujem aktualizovať stĺpec B
v tabuľke, ktorá má stĺpec A
ako primárny kľúč, s inou hodnotou pre každú hodnotu v stĺpci A
, V tabuľke je aktualizovaných asi 50 000 riadkov, čo znemožňuje manuálne to urobiť. Existuje iný spôsob, ako ho aktualizovať?
Zo všetkých záznamov v tabuľke chcem aktualizovaťlen 50000. Pre každý záznam z týchto 50 000 sa hodnota, ktorá sa má aktualizovať, líši. Ako môžem aktualizovať tabuľku bez nutnosti písať 50 000 aktualizačných dopytov?
Column A. Column B
One. 1
Two 2
Three 3
Chcem aktualizovať one=4
, two=5
a tak ďalej pre približne 50 000 riadkov.
Ďakujeme vopred chlapom!
odpovede:
0 pre odpoveď č. 1Neviem, či som dostal vašu požiadavku správne, ale napísal som nižšie uvedený pracovný úryvok na replikáciu scenára.
--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;