Összefoglaló: ebben az oktatóanyagban megtanulhatja az Oracle ALTER TABLE MODIFY
oszlop utasítás a meglévő oszlopok definíciójának megváltoztatásához.
Egy oszlop definíciójának módosításához használja a ALTER TABLE MODIFY
oszlop szintaxisát az alábbiak szerint:
Az állítás egyértelmű. Táblázat oszlopának módosításához meg kell adnia az oszlop nevét, a tábla nevét és a végrehajtani kívánt műveletet.
Az Oracle sok műveletet hajthat végre, de a következők a következők: / p>
- Az oszlop láthatóságának módosítása
- Null értékek engedélyezése vagy megengedése
- Az oszlop méretének rövidítése vagy szélesítése
- oszlop alapértelmezett értéke
- A virtuális oszlopok kifejezésének módosítása
Több oszlop módosításához használja a következő szintaxist:
Oracle ALTER TABLE MODIFY oszloppéldák
Először hozzon létre egy új táblázatot accounts
néven a bemutatóhoz:
Másodszor, illesszen be néhány sort a accounts
táblába:
Harmadszor ellenőrizze a beszúrási műveletet a következő SELECT
utasítás:
A) Módosítsa az oszlop láthatóságát ity
Az Oracle Database 12c programban a táblázat oszlopait láthatatlannak vagy láthatónak definiálhatja. Láthatatlan oszlopok nem érhetők el a lekérdezéshez, például:
Vagy például:
az SQL * Plus rendszerben.
A láthatatlan oszlopokat azonban lekérdezheti, ha azokat kifejezetten megadja a lekérdezésben:
alapértelmezés szerint a táblázat oszlopai láthatók. Láthatatlan oszlopot definiálhat a tábla létrehozásakor vagy a ALTER TABLE MODIFY
oszlop utasítás használatával.
Például a következő utasítás a full_name
oszlop láthatatlan:
A következő utasítás a accounts
tábla összes oszlopából ad vissza adatokat, kivéve a full_name
oszlopot :
Ennek oka, hogy a full_name
oszlop láthatatlan.
A oszlop láthatatlanból láthatóvá, az alábbi állítást használja:
B) Null példa engedélyezése vagy nem engedélyezése
A következő utasítás megváltozik a email
oszlopban a nem null értékek elfogadásához:
Az Oracle azonban a következő hibát adta ki:
Mert amikor egy oszlopot nullable értékről n on-nullable, meg kell győződnie arról, hogy a meglévő adatok megfelelnek az új feltételnek.
Ennek kijavításához először a email
oszlop értékeit frissítjük:
Ne feledje, hogy a LOWER()
függvény egy karakterláncot kisbetűvé alakít.
Ezután módosítsa a oszlop korlátozása:
Most a várakozásoknak megfelelően működik.
C) Az oszlop méretének kiszélesítése vagy rövidítése
Tegyük fel, hogy nemzetközi kódot akarunk hozzáadni a telefonszámokhoz. Mielőtt ezt elvégeznénk, a következő állítással meg kell szélesítenünk a telefonoszlop méretét:
Mostantól frissíthetjük a telefonszámokat:
A következő utasítás igazolja a frissítést:
Az oszlop méretének lerövidítéséhez győződjön meg arról, hogy az oszlop összes adata megfelel az új méretnek.
Például megpróbáljuk lerövidíteni az phone
oszlop méretét 12 karakterre:
Az Oracle Database a következő hibát adta ki:
Ennek kijavításához először el kell távolítanunk a nemzetközi kódot a telefonszámokról:
A REPLACE()
függvény helyettesíti az alszalagot egy új alsorral. Ebben az esetben a „+ 1-” szöveget egy üres karakterlánccal helyettesíti.
Ezután rövidítse le a phone
oszlop méretét:
D) Módosítás virtuális oszlop
Tegyük fel, hogy a teljes nevet a következő formátumban adjuk meg:
Ehhez megváltoztathatjuk a virtuális oszlop full_name
az alábbiak szerint:
A következő utasítás igazolja a módosítást:
E) Oszlop alapértelmezett értékének módosítása
Vegyünk fel egy új, div osztályú status
nevű oszlopot a accounts
táblába alapértelmezett értékkel 1.
Miután végrehajtotta az utasítást, az állapot oszlopban az értékek 1-re lesznek állítva az összes létező sorra a accounts
táblázatban.
Az o alapértelmezett értékének megváltoztatása Ha az állapotoszlop 0-ra van, akkor a következő állítást használja:
Új sort felvehetünk a accounts
tábla annak ellenőrzésére, hogy a status
oszlop alapértelmezett értéke 0 vagy 1:
Lekérdezési adatok a accounts
táblából:
Amint láthatja, a 4. azonosítójú fiók állapotoszlopának értéke a várakozásoknak megfelelően 0.
Ebben az oktatóanyagban megtanulta, hogyan használhatja az Oracle ALTER TABLE MODIFY
oszlop utasítást a táblázat meglévő oszlopainak meghatározásának megváltoztatásához.
- Hasznos volt ez az oktatóanyag?
- IgenNem