Coloana Oracle ALTER TABLE MODIFY

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

Write a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *