Oracle ALTER TABLE MODIFY Column (Español)

Resumen: en este tutorial, aprenderá cómo usar Oracle ALTER TABLE MODIFY instrucción column para cambiar la definición de columnas existentes.

Para cambiar la definición de una columna en una tabla, use la ALTER TABLE MODIFY sintaxis de columna de la siguiente manera:

La declaración es sencilla. Para modificar una columna de una tabla, debe especificar el nombre de la columna, el nombre de la tabla y la acción que desea realizar.

Oracle le permite realizar muchas acciones, pero las siguientes son las principales:

  • Modificar la visibilidad de la columna
  • Permitir o no permitir valores nulos
  • Acortar o ampliar el tamaño de la columna
  • Cambiar el valor predeterminado de una columna
  • Modificar la expresión de las columnas virtuales

Para modificar varias columnas, utilice la siguiente sintaxis:

Ejemplos de columnas de Oracle ALTER TABLE MODIFY

Primero, cree una nueva tabla llamada accounts para la demostración:

En segundo lugar, inserte algunas filas en la accounts tabla:

En tercer lugar, verifique la operación de inserción mediante el siguiente SELECT declaración:

A) Modificar la visibilidad de la columna ity

En Oracle Database 12c, puede definir las columnas de la tabla como invisibles o visibles. Las columnas invisibles no están disponibles para consultas como:

O declaraciones como:

en SQL * Plus.

Sin embargo, puede consultar las columnas invisibles especificándolas explícitamente en la consulta:

Por por defecto, las columnas de la tabla son visibles. Puede definir la columna invisible cuando crea la tabla o usando la ALTER TABLE MODIFY instrucción de columna.

Por ejemplo, la siguiente instrucción hace que el full_name columna invisible:

La siguiente declaración devuelve datos de todas las columnas de la tabla accounts excepto la columna full_name :

Esto se debe a que la columna full_name es invisible.

Para cambiar un columna de invisible a visible, utilice la siguiente declaración:

B) Permitir o no permitir el ejemplo nulo

La siguiente declaración cambia la email columna para aceptar valores no nulos:

Sin embargo, Oracle emitió el siguiente error:

Porque cuando cambiaste una columna de anulable a n on-nullable, debe asegurarse de que los datos existentes cumplan con la nueva restricción.

Para solucionar este problema, primero actualizamos los valores de la columna email:

Tenga en cuenta que la función LOWER() convierte una cadena a minúsculas.

Y luego cambie el restricción de la columna:

Ahora, está funcionando como se esperaba.

C) Ampliar o acortar el tamaño de un ejemplo de columna

Supongamos que queremos agregar un código internacional a los números de teléfono. Antes de hacerlo, debemos ampliar el tamaño de la columna del teléfono usando la siguiente declaración:

Ahora, podemos actualizar los números de teléfono:

La siguiente declaración verifica la actualización:

Para acortar el tamaño de una columna, asegúrese de que todos los datos de la columna se ajusten al nuevo tamaño.

Por ejemplo, intentamos acortar el tamaño de la columna phone a 12 caracteres:

Oracle Database emitió el siguiente error:

Para solucionar esto, primero debemos eliminar el código internacional de los números de teléfono:

La función REPLACE() reemplaza una subcadena por una nueva subcadena. En este caso, reemplaza el «+ 1-» por una cadena vacía.

Y luego acorte el tamaño de la phone columna:

D) Modificar columna virtual

Supongamos que tenemos el nombre completo en el siguiente formato:

Para hacer esto, podemos cambiar la expresión del columna virtual full_name de la siguiente manera:

La siguiente declaración verifica la modificación:

E) Modificar el valor predeterminado de una columna

Agreguemos una nueva columna llamada status a la accounts tabla con el valor predeterminado 1.

Una vez ejecutada la instrucción, los valores de la columna de estado se establecen en 1 para todas las filas existentes en la accounts tabla.

Para cambiar el valor predeterminado o Si la columna de estado es 0, use la siguiente declaración:

Podemos agregar una nueva fila al accounts para comprobar si el valor predeterminado de la status columna es 0 o 1:

Datos de consulta de la accounts tabla:

Como puede ver, el valor en la columna de estado para la cuenta con id 4 es 0 como se esperaba.

En este tutorial, ha aprendido a usar la instrucción de columna ALTER TABLE MODIFY de Oracle para cambiar la definición de las columnas existentes en una tabla.

  • ¿Le resultó útil este tutorial?
  • Sí No

Write a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *