konto usunięte
Temat: ORACLE - konsekwencje zmiany długości kolumny.
Załóżmy że w bazie danych zostały zdefiniowane kolumny typach NUMBER (bez precyzji i skali) oraz VARCHAR(300). Okazało się, że tak zdefiniowane kolumny zabierają niepotrzebnie dużo miejsca bo faktycznie wszystkie dane w nich zawarte mogłyby się zmieścić w typach NUMBER(10) oraz VARCHAR(20).Jeśli wykonam polecenie:
ALTER TABLE BLA
MODIFY(COLUMN BLE NUMBER(10));
To czy:
- zachowają się dane już obecne w kolumnie i czy można taką operację w ogóle na niepustej kolumnie wykonać?
- Jeśli znajdą się wiersze niemieszczące się w tym przedziale czy ORACLE nie dopuści do zmiany?
- Czy wcześniej nadane wartości domyślne kolumn zostaną zachowane?
- Czy wcześniej założone indeksy zostaną zachowane?
- Czy klucze publiczne, obce, unikalne, zostaną zachowane?
- Czy informacja o tym czy kolumna może być NULL zostaną zachowane?
- Czy wszystkie więzy integralności dotyczące tej kolumny zostaną zachowane?