Jak změnit sloupec přidání tabulky v databázi Oracle
- Nový sloupec přidáte pomocí ALTER TABLE ADD COLUMN prohlášení v Oraclu
- Tabulka musí být obsažena ve vašem schématu, chcete-li změnit tabulku, nebo byste měli mít pro tabulku oprávnění objektu ALTER nebo systémové oprávnění ALTER ANY TABLE.
- Pokud pohled, materializovaný pohled, spouštěč, index založený na funkcích, kontrolní omezení, funkce, procedura balíčku závisí na základní tabulce, může změna základní tabulky nebo jejích sloupců ovlivnit závislý objekt. Například objekty PLSQL se stanou neplatné pokud se objekt závislé tabulky změní a musíte je znovu nastavit na platnost
Do definice tabulky můžeme přidat nový sloupec pomocí příkazu alter table add
ALTER TABLE tech_master ADD (name varchar2(9)); Table Altered
- Pokud před 11g do tabulky přidáte nový sloupec, bude mít sloupec zpočátku hodnotu NULL, pokud neurčíte klauzuli DEFAULT. . Když zadáte výchozí hodnotu, databáze okamžitě aktualizuje každý řádek výchozí hodnotou. Upozorňujeme, že to může nějakou dobu trvat a že během aktualizace je na stole exkluzivní zámek DML.
- Pokud u některých typů tabulek (například tabulek bez sloupců LOB), zadáte jak omezení NOT NULL, tak výchozí hodnotu, může databáze optimalizovat operaci přidání sloupce a výrazně zkrátit dobu, po kterou je tabulka uzamčen pro DML. Totéž platí pro přidání nenulového sloupce s výchozí hodnotou
- Oracle zavedl funkci rychlého přidání sloupce v 11g, takže když přidáme sloupec, který není null s výchozí hodnotou nebo sloupec null s výchozí hodnotou, Oracle přidá sloupec okamžitě a neaktualizuje každý řádek výchozí hodnotou. S
- o Způsobí to jakoukoli penalizaci za generování opakování a zpět. Když uživatel vybere sloupec pro existující záznam, Oracle získá fakt o výchozí hodnotě z datového slovníku a vrátí jej uživateli.
Nelze určit, kde se má sloupec zobrazit. Nově přidaný sloupec se stává posledním sloupcem
Podobně můžeme do tabulky přidat více sloupců
ALTER TABLE table_name ADD (col1 column datatype [default expr], col2 column datatype [default expr], ... coln column datatype [default expr]); Example ALTER TABLE customer_master ADD (location_name varchar2(100), last_login date);
Konvence pojmenovávání sloupců jsou stejné jako v případě příkazu Create table
- Název, který zvolíte pro sloupec, musí splňovat tato standardní pravidla:
- Název musí začínat písmenem A–Z nebo a–z
- může obsahovat čísla a podtržítka
- Může být VELKÁ nebo malá písmena
- Může mít až 30 znaků
- Ve schématu nelze použít stejný název jako jiný existující objekt
- Nesmí to být server Oracle a vyhrazené slovo SQL
Datové typy jsou opět stejné jako příkaz create table
Postava | -CHAR, NCHAR, VARCHAR2 &NVARCHAR2. – Datový typ CHAR je alfanumerický řetězec pevné délky, který má maximální délku v bajtech. -Při vytváření datového typu CHAR zachová databáze místo pro příchozí data a pokud jsou data kratší než maximální velikost, budou doplněna mezerou vpravo -Datový typ VARCHAR2 je proměnná -length alfanumerický řetězec, který má maximální délku v bajtech. Může uložit až 4000 bajtů. |
Číslo | -ČÍSLO -Datový typ NUMBER ukládá číslo s přesností a měřítkem. -Číselné datové typy ukládají záporná a kladná celá čísla s pevnou desetinnou čárkou a čísla s plovoucí desetinnou čárkou – Když je sloupec definován jako ČÍSLO (6, 2), lze uložit rozsah hodnot od –9999,99 do 9999,99. Oracle zaokrouhluje čísla s pohyblivou řádovou čárkou. |
Datum a čas | –DATUM, ČASOVÉ ZNAČKO (s časovým pásmem nebo místním časovým pásmem), INTERVAL Z ROKU NA MĚSÍC &INTERVAL OD DEN DO SEKUNDY. -Datový typ DATE se používá k ukládání informací o datu a čase. -Tento datový typ má řadu specifických funkcí pro manipulaci, formátování a prohlížení dat. – Datový typ DATE uchovává sedm bajtů a obsahuje informace o století, roce, měsíci, dni, hodinách, minutách a sekundách. – Parametr NLS_DATE_FORMAT lze změnit a ovládat tak zobrazení dat. Funkce SYSDATE vrací aktuální datum |
Velké objekty | -BLOB (binární velký objekt) , CLOB(znak velký objekt) , NCLOB &BFILE -Sloupce těchto datových typů mohou ukládat nestrukturovaná data včetně textu, obrázků, videa a prostorových dat. -Datový typ CLOB může uložit až osm terabajtů znakových dat pomocí znakové sady databáze CHAR. -Datový typ BLOB se používá k ukládání nestrukturovaných binárních velkých objektů, jako jsou objekty spojené s obrazovými a video daty, kde jsou data jednoduše proudem „bitových“ hodnot. -Hodnota datového typu BFILE funguje jako lokátor souborů nebo ukazatel na soubor v systému souborů serveru. Maximální podporovaná velikost souboru je 8 TB až 128 TB. |
Dlouhé | Data znaků s proměnnou délkou až 2 G |
rowid | Systém 64 základních čísel představující jedinečnou adresu řádku v tabulce |
Příklad
Před přidáním sloupce
Desc emp
Změnit sloupec přidání tabulky
alter table emp add(ext varchar2(10));
Po přidání sloupce
Desc emp
Nyní tento sloupec vypouští
alter table emp drop column ext;
Doufám, že se vám článek o Jak změnit sloupec pro přidání tabulky v oracle bude líbit
Související článkyoracle create syntaxe tabulky
Změnit tabulku v Oracle
změnit přesun tabulky
DROP TABLE Příkaz ORACLE
zkontrolovat velikost tabulky oracle
ora-20005:statistiky objektů jsou uzamčeno