Jak odstranit sloupec v Oracle?

jak v systému ORACLE 7.3 odstranit atribut (sloupec) z tabulky? Musíte to řešit oklikou.
Jeden ze čtenářů našeho miniseriálu o jazyku SQL se na mne obrátil s prosbou o radu, jak v systému ORACLE 7.3 odstranit atribut (sloupec) z tabulky. Bohužel v tomto systému není možné použít klauzuli DROP u příkazu ALTER TABLE. Důvodů, proč nelze atribut odstranit tímto způsobem, může být celá řada. Osobně se však domnívám, že za tím stojí složitost změny struktury paměťových bloků, které Oracle používá pro fyzické uložení dat. Neznamená to však, že by neexistovala cesta, jak záležitost pomocí základních příkazů SQL vyřešit. Následující možnost je pouze jednou z mnoha variant, určitě Vás napadnou další.

Mějme například tabulku osoby, která obsahuje atributy:

Jmeno varchar2(20)
Prijmeni varchar2{30)
Narozen date

Pokud se rozhodneme odstranit z této tabulky atribut Narozen, postupujeme následujícím způsobem:

Vytvoříme si tabulku osoby_, která bude obsahovat pouze atributy Jmeno a Prijemni:

CREATE TABLE osoby_ AS SELECT Jmeno, Prijmeni FROM osoby;

Nově vzniklá tabulka tak bude obsahovat všechny záznamy, které byly v původní. Součástí příkazu SELECT může pochopitelně být i klauzule WHERE (použijeme ji tehdy, chceme-li odstranění sloupce skombinovat se zrušením určitých záznamů). Pořadí atributů je zaměnitelné - i tak můžeme ovlivnit podobu nové tabulky.

Odstraníme původní tabulku osoby:

DROP TABLE OSOBY;

Přejmenujeme tabulku osoby_ na osoby:

RENAME osoby_ TO osoby;

Uvedené řešení je jednoduché, nese však sebou určitá omezení. Nesmíme zapomenout na to, že se automaticky nevytvoří indexy, které obsahovala původní tabulka - ty je nutno vytvořit ručně (viz. díl o používání indexů).

Diskuze (1) Další článek: Magic TV: Vyrobte ze svého monitoru televizor

Témata článku: Oracle, Drop, ODS, Alter, Sloupec, Uvedené řešení, Původní tabulka, Select, Sloup


Určitě si přečtěte

Za hranicemi Chromu: 13 nejzajímavějších prohlížečů, které „nikdo“ nepoužívá

Za hranicemi Chromu: 13 nejzajímavějších prohlížečů, které „nikdo“ nepoužívá

** Šesti nejpoužívanějším prohlížečům patří 94 % trhu ** Různé „klony“ Chromu slibují lepší funkce nebo jiný design ** Také Firefox má řadu zajímavých odnoží

Lukáš Václavík | 38

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

Nejlepší programy z roku 2000: Další várka zapomenutých legend, které jste měli v PC

** Pokračujeme ve vzpomínání na prehistorické programy ** Pročetli jsme vaše tipy v diskuzi ** A všechny ty vykopávky spustili na Windows 2000

Jakub Čížek | 74

Podívejte se na Windows z roku 1990. Před 30 lety přišly Windows 3.0 a líbily se nám

Podívejte se na Windows z roku 1990. Před 30 lety přišly Windows 3.0 a líbily se nám

** 22. května 1990 uvedl Microsoft Windows 3.0 ** Systém z Microsoftu definitivně udělal lídra na desktopu ** Tehdejší Windows byly vlastně grafickou nadstavbou nad MS-DOS

Jakub Čížek | 75


Aktuální číslo časopisu Computer

Megatest: nejlepší notebooky do 20 000 Kč

Test 8 levných IP kamer

Jak vybrat bezdrátová sluchátka

Testujeme Android 11