Cómo modificar la columna de adición de tabla en la base de datos de Oracle
- Usted agrega una nueva columna usando ALTER TABLE ADD COLUMN declaración en Oracle
- La tabla debe estar incluida en su esquema para modificar una tabla, o debe tener el privilegio de objeto ALTER para la tabla o el privilegio de sistema ALTER ANY TABLE.
- Si una vista, una vista materializada, un disparador, un índice basado en funciones, una restricción de verificación, una función o un procedimiento del paquete depende de una tabla base, la alteración de la tabla base o sus columnas puede afectar el objeto dependiente. Por ejemplo, los objetos PLSQL se vuelven no válido si el objeto de la tabla dependiente cambia y tiene que volver a hacerlos válidos
Podemos agregar una nueva columna a la definición de la tabla usando el comando modificar tabla agregar
ALTER TABLE tech_master ADD (name varchar2(9)); Table Altered
- Antes de 11g, si se agrega una nueva columna a una tabla, la columna inicialmente es NULL a menos que especifique la cláusula DEFAULT . . Cuando especifica un valor predeterminado, la base de datos actualiza inmediatamente cada fila con el valor predeterminado. Tenga en cuenta que esto puede llevar algún tiempo y que, durante la actualización, hay un bloqueo DML exclusivo en la tabla.
- Para algunos tipos de tablas (por ejemplo, tablas sin columnas LOB), si especifica una restricción NOT NULL y un valor predeterminado, la base de datos puede optimizar la operación de adición de columnas y reducir en gran medida la cantidad de tiempo que la tabla es bloqueado para DML. Lo mismo ocurre con la adición de columnas no nulas con valor predeterminado
- Oracle ha introducido la función de adición rápida de columnas en 11g, por lo que cuando agregamos una columna no nula con un valor predeterminado o una columna nula con un valor predeterminado, Oracle agrega la columna inmediatamente y no actualiza cada fila con el valor predeterminado. S
- o incurre en alguna penalización por la generación de rehacer y deshacer. Cuando un usuario selecciona la columna para un registro existente, Oracle obtiene el valor predeterminado del diccionario de datos y se lo devuelve al usuario.
No puede especificar dónde debe aparecer la columna. La columna recién agregada se convierte en la última columna
Del mismo modo podemos añadir varias columnas a la tabla
ALTER TABLE table_name ADD (col1 column datatype [default expr], col2 column datatype [default expr], ... coln column datatype [default expr]); Example ALTER TABLE customer_master ADD (location_name varchar2(100), last_login date);
Las convenciones de nomenclatura de columnas son las mismas que en el caso de la instrucción Crear tabla
- El nombre que elija para una columna debe seguir estas reglas estándar:
- El nombre debe comenzar con una letra A-Z o a-z
- puede contener números y guiones bajos
- Puede estar en MAYÚSCULAS o en minúsculas
- Puede tener hasta 30 caracteres de longitud
- No se puede usar el mismo nombre de otro objeto existente en su esquema
- No debe ser un servidor de Oracle y una palabra reservada de SQL
Los tipos de datos son nuevamente los mismos que los de la declaración de creación de tabla
Personaje | -CHAR, NCHAR, VARCHAR2 y NVARCHAR2. – El tipo de datos CHAR es una cadena alfanumérica de longitud fija que tiene una longitud máxima en bytes. -Al crear un tipo de datos CHAR, la base de datos conservará espacio para los datos entrantes y, si los datos son más cortos que el tamaño máximo, se rellenarán con espacios a la derecha -El tipo de datos VARCHAR2 es una variable -longitud cadena alfanumérica, que tiene una longitud máxima en bytes. Puede almacenar hasta 4000 bytes. |
Número | -NUMBER -El tipo de datos NUMBER almacena números con precisión y escala. -Los tipos de datos numéricos almacenan enteros negativos y positivos, números de punto fijo y números de punto flotante – Cuando una columna se define como NÚMERO (6, 2), el rango de valores se puede almacenar desde –9999.99 hasta 9999.99. Oracle redondea los números de coma flotante. |
Fecha y hora | –FECHA, MARCA DE TIEMPO (con zona horaria o zona horaria local), INTERVALO AÑO A MES &INTERVALO DÍA A SEGUNDO. -El tipo de datos DATE se utiliza para almacenar información de fecha y hora. -Este tipo de datos tiene una serie de funciones específicas para manipular, formatear y ver sus datos. – El tipo de datos DATE tiene almacenamiento de siete bytes y tiene información sobre siglo, año, mes, día, horas, minutos y segundos. – El parámetro NLS_DATE_FORMAT se puede cambiar para controlar la visualización de los datos. La función SYSDATE devuelve la fecha actual |
Objetos grandes | -BLOB (objeto grande binario) , CLOB (objeto de carácter grande) , NCLOB &BFILE :las columnas de estos tipos de datos pueden almacenar datos no estructurados, incluidos texto, imágenes, videos y datos espaciales. -El tipo de datos CLOB puede almacenar hasta ocho terabytes de datos de caracteres utilizando el conjunto de caracteres de la base de datos CHAR. -El tipo de datos BLOB se usa para almacenar grandes objetos binarios no estructurados, como los asociados con datos de imagen y video, donde los datos son simplemente un flujo de valores de "bit". -El valor del tipo de datos BFILE funciona como un localizador de archivos o un puntero a un archivo en el sistema de archivos del servidor. El tamaño máximo de archivo admitido es de 8 TB a 128 TB. |
Largo | Datos de caracteres de longitud variable hasta 2 G |
filo | Un sistema numérico de base 64 que representa la dirección única de la fila en la tabla |
Ejemplo
Antes de agregar la columna
Desc emp
Alterar tabla agregar columna
alter table emp add(ext varchar2(10));
Después de agregar la columna
Desc emp
Ahora suelta esa columna
alter table emp drop column ext;
Espero que le guste el artículo sobre Cómo modificar la columna de adición de tablas en Oracle
Artículos relacionadossintaxis de creación de tabla de Oracle
Alterar tabla en Oracle
alterar movimiento de tabla
Declaración DROP TABLE ORACLE
verificar el tamaño de la tabla de Oracle
ora-20005:las estadísticas del objeto son bloqueado