Oracle ALTER TABLE MODIFY Column (Čeština)

Shrnutí: v tomto výukovém programu se naučíte používat Oracle ALTER TABLE MODIFY příkaz sloupce pro změnu definice existujících sloupců.

Chcete-li změnit definici sloupce v tabulce, použijte ALTER TABLE MODIFY následující syntaxi sloupce:

Výrok je přímočarý. Chcete-li upravit sloupec tabulky, musíte zadat název sloupce, název tabulky a akci, kterou chcete provést.

Oracle vám umožňuje provádět mnoho akcí, ale hlavní jsou následující:

  • Upravit viditelnost sloupce
  • Povolit nebo nepovolit nulové hodnoty
  • Zkrátit nebo rozšířit velikost sloupce
  • Změnit výchozí hodnota sloupce
  • Upravit výraz virtuálních sloupců

Chcete-li upravit více sloupců, použijte následující syntaxi:

Příklady změny sloupce Oracle ALTER TABLE

Nejprve vytvořte novou tabulku s názvem accounts pro ukázku:

Zadruhé, vložte několik řádků do accounts tabulky:

Zatřetí, ověřte operaci vložení pomocí následujícího SELECT prohlášení:

A) Upravte viditelnost sloupce ity

V Oracle Database 12c můžete definovat sloupce tabulky jako neviditelné nebo viditelné. Pro dotaz nejsou k dispozici neviditelné sloupce:

Nebo příkaz jako:

v SQL * Plus.

Neviditelné sloupce však můžete dotazovat tak, že je v dotazu explicitně zadáte:

Autor ve výchozím nastavení jsou viditelné sloupce tabulky. Neviditelný sloupec můžete definovat při vytváření tabulky nebo pomocí příkazu ALTER TABLE MODIFY sloupce.

Například následující příkaz vytvoří full_name sloupec neviditelný:

Následující příkaz vrací data ze všech sloupců tabulky accounts kromě sloupce full_name :

Je to proto, že sloupec full_name je neviditelný.

Změna sloupec z neviditelného do viditelného, použijete níže uvedený příkaz:

B) Povolit nebo nepovolit nulový příklad

Následující příkaz se změní sloupec email pro přijímání nenulových hodnot:

Společnost Oracle však vydala následující chybu:

Protože při změně sloupce z hodnoty Null na n on-nullable, musíte zajistit, aby existující data splňovala nové omezení.

Abychom to napravili, nejprve aktualizujeme hodnoty ve sloupci email:

Všimněte si, že funkce LOWER() převede řetězec na malá písmena.

A poté změňte Omezení sloupce:

Nyní funguje podle očekávání.

C) Rozšířit nebo zkrátit velikost příkladu sloupce

Předpokládejme, že chceme k telefonním číslům přidat mezinárodní kód. Než to uděláme, musíme rozšířit velikost telefonního sloupce pomocí následujícího příkazu:

Nyní můžeme aktualizovat telefonní čísla:

Aktualizaci ověří následující prohlášení:

Chcete-li zkrátit velikost sloupce, ujistěte se, že všechna data ve sloupci odpovídají nové velikosti.

Například se pokusíme zkrátit velikost sloupce phone na 12 znaků:

Oracle Database vydala následující chybu:

Abychom to napravili, měli bychom nejprve odstranit mezinárodní kód z telefonních čísel:

Funkce REPLACE() nahradí podřetězec novým podřetězcem. V tomto případě nahradí znak „+ 1-“ prázdným řetězcem.

A pak zkrátit velikost sloupce phone:

D) Upravit virtuální sloupec

Předpokládejme, že máme celé jméno v následujícím formátu:

Za tímto účelem můžeme změnit výraz virtuální sloupec full_name takto:

Následující prohlášení ověří úpravu:

E) Upravit výchozí hodnotu sloupce

Přidejte do tabulky accounts nový sloupec s názvem status s výchozí hodnotou 1.

Po provedení příkazu jsou hodnoty ve sloupci stavu nastaveny na 1 pro všechny existující řádky v tabulce accounts.

Chcete-li změnit výchozí hodnotu o Pokud je ve stavovém sloupci 0, použijete následující příkaz:

Do accounts zkontrolujte, zda je výchozí hodnota sloupce status 0 nebo 1:

Data dotazu z accounts tabulky:

Jak vidíte, hodnota ve sloupci stavu pro účet s ID 4 je 0 podle očekávání.

V tomto výukovém programu jste se naučili používat příkaz sloupce Oracle ALTER TABLE MODIFY ke změně definice existujících sloupců v tabulce.

  • Byl tento výukový program užitečný?
  • Ano Ne

Write a Comment

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *