Cómo cambiar el nombre de una tabla en Oracle de diferentes maneras

Cambiar el nombre no es una operación poco común cuando se trata de tablas de bases de datos. Es posible que desee dar a la tabla un nombre más significativo. Es posible que deba realizar cambios que harán que varios nombres de tablas sean coherentes. Sea cual sea su situación, le mostraremos cómo cambiar el nombre de las tablas en sus bases de datos Oracle.

Sin embargo, cambiar el nombre, por simple que parezca, conlleva varios riesgos que no deben ignorarse. Necesita saber qué procesos y relaciones incluyen la tabla requerida. Debe asegurarse de que su cambio de nombre se refleje en el código que hace referencia a esta tabla y que otros objetos de la base de datos funcionen correctamente después del cambio de nombre.

Sin embargo, esto no es un gran problema con algunos consejos útiles de este artículo y las herramientas adecuadas a mano. ¡Empecemos!

Contenido

1. Sintaxis Oracle RENAME TABLE
2. Renombrar tablas: reglas y restricciones
3. Ejemplo de Oracle RENAME TABLE
4. Cambiar el nombre de varias tablas en Oracle
5. Use ALTER TABLE como comando de cambio de nombre en Oracle
5.1. Cambiar el nombre de la tabla en otro esquema
5.2. Use ALTER TABLE para cambiar el nombre de las particiones
6. Cómo cambiar el nombre de la tabla en dbForge Studio para Oracle

Índice

    Sintaxis Oracle RENAME TABLE

    La sintaxis básica de la expresión para renombrar una tabla en una base de datos Oracle es la siguiente:

    RENAME TABLE table_name TO new_table_name;

    Para encontrar el nombre exacto de la tabla que debe cambiarse, puede obtener las tablas en Oracle solicitando vistas del diccionario de datos. Si desea mostrar todas las tablas en toda la base de datos de Oracle, realice una consulta SELECCIONAR desde el archivo tablas_dba vista:

    SELECT table_name 
    FROM dba_tables;

    Ahora consideremos algunos casos más específicos. Por ejemplo, puedes preguntar mesas personalizadas explore para obtener tablas propiedad del usuario actual:

    SELECT table_name
    FROM user_tables
    ORDER BY table_name;

    Puedes pedir todas_tablas view para obtener las tablas que están disponibles para el usuario actual:

    SELECT table_name
    FROM all_tables
    ORDER BY table_name;

    Si desea obtener todas las tablas de un propietario específico, agregue una columna OWNER a la cláusula WHERE:

    SELECT *
    FROM all_tables
    WHERE OWNER = 'OT'
    ORDER BY table_name;

    Renombrar tablas: reglas y restricciones

    Al cambiar el nombre de una tabla en Oracle, tenga en cuenta las siguientes reglas y restricciones:

    • Debe tener los privilegios de usuario necesarios para cambiar el nombre de la tabla; debe ser el propietario de la base de datos o el propietario de la tabla.
    • Todas las consultas relacionadas con DDL se ejecutan en modo de confirmación automática; esto significa que no se puede devolver después de cambiar el nombre de la tabla.
    • El nuevo nombre de la tabla requerida debe ser único; de lo contrario, recibirá un mensaje de error que indica que el nombre ya está en uso.
    • Si la tabla deseada tiene una restricción o un disparador, la instrucción RENAME TABLE no funcionará y recibirá un mensaje de error.
    • Si hay un cursor abierto que hace referencia a la tabla deseada, la instrucción RENAME TABLE no funcionará y recibirá un mensaje de error.

    Ejemplo de Oracle RENAME TABLE

    Ahora probemos cómo cambiar el nombre de una tabla en Oracle, por ejemplo. Seamos breves y simples. Primero creamos una tabla en la base de datos de Oracle:

    CREATE TABLE ORDERS (
       "ORDERID"      NUMBER CONSTRAINT PK_ORDERID PRIMARY KEY
      ,"CUSTOMERID"    NUMBER(*, 0) NOT NULL
      ,"ORDERDATE"     DATE NOT NULL 
      ,"SHIPDATE"      DATE NOT NULL
      ,"CUSTOMERNOTES" VARCHAR2 (100)
     ) TABLESPACE USERS
     Almacenamiento (INITIAL 64 K
              MAXEXTENTS UNLIMITED)
     LOGGING;

    Entonces podemos cambiarle el nombre fácilmente:

    RENAME TABLE ORDERS TO ACTIVE_ORDERS;

    Cambiar el nombre de varias tablas en Oracle

    Puede cambiar el nombre de varias tablas de Oracle con una sola declaración:

    RENAME TABLE table_name_1 TO new_table_name_1,
                 table_name_2 TO new_table_name_2,
                 table_name_3 TO new_table_name_3;

    Use ALTER TABLE como un comando de cambio de nombre en Oracle

    Hay una alternativa a RENAME TABLE, que también se puede usar para dar un nuevo nombre a la tabla requerida. Esta es una declaración llamada ALTER TABLE y tiene la siguiente sintaxis:

    ALTER TABLE table_name
    RENAME TO new_table_name;

    Tenga en cuenta que no puede cambiar el nombre de varias tablas con una sola instrucción ALTER TABLE.

    Cambiar el nombre de la tabla en otro esquema

    ALTER TABLE también se puede usar para cambiar el nombre de una tabla de Oracle en otro esquema:

    ALTER TABLE owner.table_name RENAME TO new_table_name;

    Use ALTER TABLE para cambiar el nombre de las particiones

    Puede usar ALTER TABLE para cambiar el nombre de índices y particiones de tabla en Oracle. Por ejemplo, puede cambiar el nombre de partición predeterminado asignado por el sistema a algo más significativo. La sintaxis es la siguiente:

    ALTER TABLE table_name
    RENAME PARTITION partition_name
    TO new_name;

    Puede aplicar una sintaxis similar para cambiar el nombre de una subsección:

    ALTER TABLE table_name
    RENAME SUBPARTITION subpartition_name
    TO new_name;

    Cómo cambiar el nombre de la tabla en dbForge Studio para Oracle

    dbForge Studio para Oracle es un IDE universal para desarrollar y administrar bases de datos de Oracle, y el cambio de nombre inteligente de los objetos de la base de datos es solo un aspecto. Además de las tablas, puede cambiar el nombre de las vistas, los procedimientos almacenados, las funciones, los disparadores, los paquetes, las secuencias, los tipos de usuarios, los sinónimos, los clústeres y las vistas materializadas. Además, dbForge Studio encuentra y corrige automáticamente todos los enlaces al objeto deseado, por lo que no tiene que perder tiempo buscándolos y corrigiéndolos manualmente.

    Puede cambiar el nombre de un objeto en un script en lugar de una base de datos. Para hacer esto, siga estos pasos:

    1. Haga clic derecho en el objeto deseado y vaya a refactorización > Rebautizar en el menú contextual. Como alternativa, puede seleccionar un objeto y hacer clic en F2. El objeto se resaltará.

    2. Ingrese un nuevo nombre para su objeto en la ventana del Editor SQL. A medida que escribe hay una pista que indica Presione F2 para ver los cambios, o Enter/Tab para aplicar.

    3. Presione F2 abrir Cambiar vista previa - Cambiar nombre cuadro de diálogo y cambie el código de vista previa.

    4. Presione Solicitar para aplicar cambios. Además, haga clic en Entrar / Tabulador para aplicar los cambios de código.

    ¡Eso es! Como puede ver, el rico conjunto de herramientas de dbForge Studio ofrece las herramientas de refactorización más seguras y sencillas. Tenemos una publicación similar donde puede aprender cómo cambiar el nombre de las tablas en MySQL. Y si está buscando tutoriales adicionales sobre Oracle, le sugerimos que consulte cómo copiar tablas en Oracle. Finalmente, puede echar un vistazo a la funcionalidad completa de dbForge Studio.

    Descargue la versión de prueba gratuita de 30 días de dbForge Studio para Oracle, pruébelo y vea lo valioso que puede ser para sus propias operaciones diarias de base de datos.

    Artículos de interés

    Subir