Rezumat: în acest tutorial, veți afla cum să utilizați Oracle ALTER TABLE MODIFY
declarație de coloană pentru a modifica definiția coloanelor existente.
Pentru a modifica definiția unei coloane dintr-un tabel, utilizați sintaxa coloanei ALTER TABLE MODIFY
după cum urmează:
Afirmația este simplă. Pentru a modifica o coloană a unui tabel, trebuie să specificați numele coloanei, numele tabelei și acțiunea pe care doriți să o efectuați.
Oracle vă permite să efectuați multe acțiuni, dar următoarele sunt principalele:
- Modificați vizibilitatea coloanei
- Permiteți sau nu permiteți valori nule
- Scurtați sau lărgiți dimensiunea coloanei
- Modificați valoarea implicită a unei coloane
- Modificați expresia coloanelor virtuale
Pentru a modifica mai multe coloane, utilizați următoarea sintaxă:
Exemple de coloane Oracle ALTER TABLE MODIFY
Mai întâi, creați un nou tabel numit accounts
pentru demonstrație:
În al doilea rând, introduceți câteva rânduri în tabelul accounts
:
În al treilea rând, verificați operațiunea de inserare utilizând următorul SELECT
declarație:
A) Modificați vizibilitatea coloanei it
În Oracle Database 12c, puteți defini coloanele tabelelor ca invizibile sau vizibile. Coloanele invizibile nu sunt disponibile pentru interogare, cum ar fi:
Sau declarație precum:
în SQL * Plus.
Cu toate acestea, puteți interoga coloanele invizibile specificându-le în mod explicit în interogare:
De implicit, coloanele tabelului sunt vizibile. Puteți defini coloana invizibilă atunci când creați tabelul sau utilizând instrucțiunea coloanei ALTER TABLE MODIFY
.
De exemplu, următoarea declarație face full_name
coloană invizibilă:
Instrucțiunea următoare returnează date din toate coloanele din tabelul accounts
cu excepția coloanei full_name
:
Acest lucru se datorează faptului că coloana full_name
este invizibilă.
Pentru a schimba un coloană de la invizibil la vizibil, folosiți instrucțiunea de mai jos:
B) Permiteți sau nu permiteți un exemplu nul
Următoarea instrucțiune se modifică coloana email
pentru a accepta valori care nu sunt nule:
Cu toate acestea, Oracle a emis următoarea eroare:
Deoarece atunci când ați schimbat o coloană de la nul la n on-nul, trebuie să vă asigurați că datele existente respectă noua constrângere.
Pentru a remedia acest lucru, actualizăm mai întâi valorile pentru coloana email
:
Rețineți că funcția LOWER()
convertește un șir în litere mici.
Și apoi modificați constrângerea coloanei:
Acum funcționează conform așteptărilor.
C) Lărgiți sau scurtați dimensiunea unui exemplu de coloană
Să presupunem că dorim să adăugăm cod internațional la numerele de telefon. Înainte de a face acest lucru, trebuie să lărgim dimensiunea coloanei telefonului utilizând următoarea declarație:
Acum, putem actualiza numerele de telefon:
Următoarea declarație verifică actualizarea:
Pentru a scurta dimensiunea unei coloane, vă asigurați că toate datele din coloană se potrivesc cu noua dimensiune.
De exemplu, încercăm să scurtăm dimensiunea coloanei phone
la 12 caractere:
Oracle Database a emis următoarea eroare:
Pentru a remedia acest lucru, mai întâi, ar trebui să eliminăm codul internațional din numerele de telefon:
Funcția REPLACE()
înlocuiește un șir de caractere cu un nou șir de caractere. În acest caz, înlocuiește „+ 1-” cu un șir gol.
Și apoi scurtați dimensiunea coloanei phone
:
D) Modificați coloană virtuală
Să presupunem că avem numele complet în următorul format:
Pentru a face acest lucru, putem schimba expresia coloana virtuală full_name
după cum urmează:
Următoarea declarație verifică modificarea:
E) Modificați valoarea implicită a unei coloane
Să adăugăm o nouă coloană numită status
în tabelul accounts
cu valoarea implicită 1.
Odată ce ați executat instrucțiunea, valorile din coloana de stare sunt setate la 1 pentru toate rândurile existente în tabelul accounts
.
Pentru a modifica valoarea implicită o f coloana de stare la 0, utilizați următoarea declarație:
Putem adăuga un nou rând la accounts
tabel pentru a verifica dacă valoarea implicită a coloanei status
este 0 sau 1:
Date de interogare din tabelul accounts
:
După cum puteți vedea, valoarea din coloana de stare pentru contul cu ID-ul 4 este 0 așa cum era de așteptat.
În acest tutorial, ați învățat cum să utilizați instrucțiunea Oracle ALTER TABLE MODIFY
pentru a modifica definiția coloanelor existente într-un tabel.
- A fost util acest tutorial?
- Da Nu