ALTER TABLE MODIFY COLUMN - Datentypänderung bei großen Tabellen mit virtueller Spalte
Typänderungen bei großen Tabellen können ein Problem sein. Wenn alter table modify column nicht geht oder zu lange dauert (aus diversen Gründen), kann eine (von mehreren) Alternativen sein, mit virtuellen Spalten zu arbeiten. Bsp. Helden der Datenmodellierung haben die Spalte Postleitzahl als number(5) definiert. (logisch, ist ja eine Zahl; blöd nur dass ganz Sachsen führende 0er in der PLZ haben) alter table modify column würde aus 1187 aber auch kein 01187 für Dresden machen. Dazu bräuchte es noch ein Update, was ggfs. richtig aufwändig wird. Alternative mit virtueller Spalte: A) Umbenennen der bestehenden Spalte: ALTER TABLE tbl RENAME COLUMN ANSCHRIFT_PLZ TO ANSCHRIFT_ PLZ_N ; B) Neue, virtuelle Spalte anlegen: ALTER TABLE tbl ADD ANSCHRIFT_PLZ VARCHAR2(5 char) GENERATED ALWAYS AS (LPAD(ANSCHRIFT_PLZ_N,5,'0')) VIRTUAL Fall es Probleme beim umbenennen der bestehenden Spalte gibt, ggfs hier nachschauen: https://frankschmidt.blogspot.com/2018/10/hidden-columns...