Colonna Oracle ALTER TABLE MODIFY

Riepilogo: in questo tutorial imparerai come utilizzare Oracle ALTER TABLE MODIFY istruzione column per modificare la definizione delle colonne esistenti.

Per modificare la definizione di una colonna in una tabella, utilizzare la sintassi della colonna ALTER TABLE MODIFY come segue:

L’affermazione è semplice. Per modificare una colonna di una tabella, è necessario specificare il nome della colonna, il nome della tabella e l’azione che si desidera eseguire.

Oracle consente di eseguire molte azioni, ma le seguenti sono le principali:

  • Modifica la visibilità della colonna
  • Consenti o non consenti valori nulli
  • Riduci o amplia la dimensione della colonna
  • Modifica la valore predefinito di una colonna
  • Modifica espressione delle colonne virtuali

Per modificare più colonne, utilizza la seguente sintassi:

Oracle ALTER TABLE MODIFY colonna di esempi

Per prima cosa, crea una nuova tabella denominata accounts per la dimostrazione:

In secondo luogo, inserisci alcune righe nella tabella accounts:

Terzo, verifica l’operazione di inserimento utilizzando il seguente SELECT:

A) Modifica la visibilità della colonna ity

In Oracle Database 12c, è possibile definire le colonne della tabella come invisibili o visibili. Le colonne invisibili non sono disponibili per la query come:

Oppure istruzioni come:

in SQL * Plus.

Tuttavia, puoi interrogare le colonne invisibili specificandole esplicitamente nella query:

Per impostazione predefinita, le colonne della tabella sono visibili. Puoi definire la colonna invisibile quando crei la tabella o utilizzando ALTER TABLE MODIFY istruzione di colonna.

Ad esempio, la seguente istruzione rende full_name colonna invisibile:

La seguente istruzione restituisce i dati da tutte le colonne della tabella accounts tranne la colonna full_name :

Questo perché la colonna full_name è invisibile.

Per modificare un colonna da invisibile a visibile, si utilizza la seguente dichiarazione:

B) Consenti o non permetta esempio nullo

La seguente istruzione cambia la colonna email per accettare valori non nulli:

Tuttavia, Oracle ha emesso il seguente errore:

Perché quando hai cambiato una colonna da nullable a n on-nullable, devi assicurarti che i dati esistenti soddisfino il nuovo vincolo.

Per risolvere questo problema, aggiorniamo prima i valori per la colonna email:

Tieni presente che la funzione LOWER() converte una stringa in minuscolo.

E poi cambia il vincolo della colonna:

Ora funziona come previsto.

C) Amplia o accorcia la dimensione di un esempio di colonna

Supponiamo di voler aggiungere il codice internazionale ai numeri di telefono. Prima di farlo, dobbiamo ampliare la dimensione della colonna del telefono utilizzando la seguente dichiarazione:

Ora possiamo aggiornare i numeri di telefono:

La seguente dichiarazione verifica l’aggiornamento:

Per abbreviare la dimensione di una colonna, assicurati che tutti i dati nella colonna corrispondano alla nuova dimensione.

Ad esempio, proviamo ad accorciare la dimensione della colonna phone fino a 12 caratteri:

Oracle Database ha emesso il seguente errore:

Per risolvere questo problema, prima dobbiamo rimuovere il codice internazionale dai numeri di telefono:

La funzione REPLACE() sostituisce una sottostringa con una nuova sottostringa. In questo caso, sostituisce “+ 1-” con una stringa vuota.

Quindi riduci le dimensioni della colonna phone:

D) Modifica colonna virtuale

Supponiamo di avere il nome completo nel seguente formato:

Per fare ciò, possiamo cambiare l’espressione del colonna virtuale full_name come segue:

La seguente istruzione verifica la modifica:

E) Modifica il valore predefinito di una colonna

Aggiungiamo una nuova colonna denominata status alla tabella accounts con il valore predefinito 1.

Una volta eseguita l’istruzione, i valori nella colonna dello stato vengono impostati su 1 per tutte le righe esistenti nella tabella accounts.

Per modificare il valore predefinito o Se la colonna dello stato è a 0, si utilizza la seguente dichiarazione:

Possiamo aggiungere una nuova riga a accounts per verificare se il valore predefinito della colonna status è 0 o 1:

Esegui query sui dati dalla tabella accounts:

Come puoi vedere, il valore nella colonna dello stato per l’account con ID 4 è 0 come previsto.

In questo tutorial, hai imparato a utilizzare l’istruzione di colonna Oracle ALTER TABLE MODIFY per modificare la definizione delle colonne esistenti in una tabella.

  • Questo tutorial è stato utile?
  • SìNo

Write a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *