Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#13

AW: VARCHAR-Spalte durch CLOB ersetzen

  Alt 26. Sep 2014, 16:01
DDL Statements (wie alter table ) sind in oracle immer automatisch mit einem impliziten commit(!) verbunden.
Also Vorsicht bitte an der Stelle.
Und nested transactions ziehen hier nicht? Aua.
Doch, teilweise.
Lassen sich aber bei Locks außerhalb der autonomen Transkation selten für etwas sinnvolles nutzen.

Zum Thema: du kannst dir ein Update sparen.
Du kannst in einem Schritt die temp. Spalte besetzen und dein Feld auf null setzen. Bei 500k sollte es aber egal sein. Das sollte nicht lange dauern.
Code:
alter table t add "temp column" clob;
update t set "temp column" = y, y = null;
alter table t modify y long;
alter table t modify y clob;
update t set y = "temp column";
alter table t drop column "temp column";
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat