sql >> Databáze >  >> RDS >> Oracle

Jak změnit tabulku přidání sloupce Oracle

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ánky
oracle 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


  1. SQL cizí klíč:Vše, co potřebujete vědět o operacích cizího klíče

  2. SQLite JSON_TREE()

  3. MariaDB CURRENT_TIME() Vysvětleno

  4. Rozdělte hodnoty oddělené čárkami do sloupců v Oracle