Как переименовать таблицу в оракуле

Обновлено: 07.07.2024

После того как вы создадите таблицу в SQL, вы можете переименовать ее. Это может произойти, если вы создаете новую таблицу для ее замены или придумали для нее лучшее имя.

В этой статье вы изучите команды SQL для переименования таблицы в Oracle, SQL Server, MySQL и PostgreSQL, а также примеры каждой из них.

Перейдем к статье.

Обзор

Вот команды для переименования таблицы в каждой из этих баз данных:

База данных Команда
SQL Server
Oracle
MySQL
PostgreSQL

Специальной команды переименования таблицы SQL не существует, но вы можете использовать команду sp_rename или команду ALTER TABLE.

Давайте рассмотрим их более подробно и рассмотрим несколько примеров.

Таблица переименования SQL Server

Для переименования таблицы в SQL Server используется процедура sp_rename. Процедуру можно вызвать так:

Вы указываете схему, в которой существует таблица, и старое или текущее имя таблицы в кавычках. Затем вы указываете новое имя таблицы.

Примечание: не добавляйте схему к имени новой таблицы. SQL Server делает это автоматически, и если вы добавите имя схемы, вы получите дубликат в своем имени (например, dbo.dbo.sales вместо dbo.sales).

Вот пример. Чтобы переименовать таблицу «employee» в «person» в схеме dbo:

Таблица будет обновлена.

Такой запрос выберет данные из обновленной таблицы:

Таблица переименования Oracle SQL

Чтобы переименовать таблицу в Oracle SQL, используйте оператор ALTER TABLE так же, как в MySQL и PostgreSQL:

Вы просто добавляете имя текущей таблицы и имя новой таблицы и запускаете команду. Нет необходимости указывать имя схемы.

Например, чтобы переименовать таблицу "employee" в "person":

Это переименует таблицу сотрудников в человека.

Вы можете выполнить простой запрос SELECT для новой таблицы, чтобы просмотреть данные.

Таблица переименования MySQL

Переименование таблицы в MySQL выполняется с помощью оператора ALTER TABLE, аналогичного PostgreSQL и Oracle:

Вы добавляете старое имя или текущее имя таблицы и новое имя таблицы.

Например, чтобы переименовать таблицу "employee" в "person", вы можете выполнить следующую команду:

Это переименует таблицу сотрудников в человека.

Таблица переименования PostgreSQL

Чтобы переименовать таблицу в PostgreSQL, выполните оператор ALTER TABLE (так же, как в MySQL и Oracle):

Вы подставляете старое имя или текущее имя таблицы и новое имя таблицы, а затем запускаете команду.

Например, чтобы переименовать таблицу "employee" в "person", вы можете выполнить следующую команду:

Это переименует таблицу сотрудников в человека.

После переименования таблицы

После выполнения команды для переименования таблицы рекомендуется обновить все ссылки на эту таблицу в базе данных. Если вы этого не сделаете, эти ссылки больше не будут действительны, и все может сломаться.

Это означает, что вы должны:

  • Проверьте все представления, которые ссылаются на таблицу, и обновите представление, чтобы оно ссылалось на новое имя.
  • Проверьте все хранимые процедуры или функции, ссылающиеся на старое имя таблицы, и обновите их, чтобы они ссылались на новое имя.
  • Проверьте любые другие объекты, которые вы можете использовать, например синонимы, и обновите их.
  • Проверьте все скрипты, которые не хранятся в вашей базе данных и могут ссылаться на таблицу, и обновите их.

Представления и хранимые процедуры являются наиболее распространенными из того, что я вижу.

Заключение

Переименовать таблицу в SQL довольно просто. Вы можете сделать это в Oracle, MySQL и PostgreSQL, используя команду ALTER TABLE, а вместо этого в SQL Server есть процедура sp_rename.

Оставить комментарий Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

Бен Брамм


Бен Брамм
DatabaseStar


Обучение Oracle
Советы Oracle
Форум Oracle
Каталог классов


Удаленный администратор баз данных
Настройка Oracle
Экстренный вызов 911
Поддержка RAC
Поддержка приложений
Анализ
Дизайн
Внедрение
Поддержка Oracle



Настройка SQL
Безопасность
Oracle UNIX
Oracle Linux
Мониторинг
Удаленная поддержка
Удаленные планы
Удаленные услуги
Сервер приложений
Приложения
Формы Oracle
Портал Oracle
Обновления приложений
SQL Server
Концепции Oracle
Поддержка программного обеспечения
> Удаленная поддержка
Разработка
Внедрение



Сотрудники консультантов
Цены на консалтинг
Требуется помощь!



Постеры Oracle
Книги Oracle
Скрипты Oracle
Ion
Excel-DB

Синтаксис таблицы переименования Oracle

Советы по базе данных Oracle, автор Дональд Берлесон

Oracle предоставляет следующий синтаксис таблицы переименования:

изменить таблицу
table_name
переименовать в
new_table_name;

Например, мы могли бы переименовать таблицу клиентов в old_customer, используя следующий синтаксис:

изменить таблицу
customer
переименовать в
old_customer;

При переименовании таблицы Oracle следует помнить, что Oracle не обновляет приложения (HTML-DB, PL/SQL, ссылающиеся на старое имя таблицы), и процедуры PL/SQL могут стать недействительными.


Бурлесон — американская команда


Примечание. Эта документация по Oracle была создана в качестве справочника по поддержке и обучению Oracle для использования нашими специалистами-консультантами по настройке производительности администраторов баз данных. Не стесняйтесь задавать вопросы на нашем форуме Oracle.

Проверьте опыт! Любой, кто рассматривает возможность использования услуг эксперта службы поддержки Oracle, должен самостоятельно проверить свои полномочия и опыт, а не полагаться на рекламу и самопровозглашенный опыт. Все законные эксперты Oracle публикуют свои квалификации Oracle.

Ошибки? Технология Oracle меняется, и мы стараемся обновлять нашу информацию о поддержке BC Oracle. Если вы обнаружите ошибку или у вас есть предложение по улучшению нашего контента, мы будем признательны за ваш отзыв. Просто электронная почта:


и укажите URL-адрес страницы.


Burleson Consulting

Оракул поддержки баз данных

Вывод: в этом руководстве вы узнаете, как использовать табличный оператор Oracle RENAME для переименования существующей таблицы в базе данных.

Чтобы переименовать таблицу, используйте следующий оператор таблицы Oracle RENAME следующим образом:

В операторе таблицы RENAME:

  • Сначала укажите имя существующей таблицы, которую вы хотите переименовать.
  • Во-вторых, укажите имя новой таблицы. Новое имя не должно совпадать с именем другой таблицы в той же схеме.

Обратите внимание, что вы не можете выполнить откат оператора RENAME после его выполнения.

Когда вы переименовываете таблицу, Oracle автоматически переносит индексы, ограничения и разрешения из старой таблицы в новую. Кроме того, он делает недействительными все объекты, зависящие от переименованной таблицы, такие как представления, хранимые процедуры, функции и синонимы.

Пример таблицы Oracle RENAME

Давайте создадим таблицу с названием Promotions для демонстрации.

Следующая функция PL/SQL возвращает количество рекламных акций, запрашивая данные из таблицы рекламных акций:

Чтобы переименовать таблицу рекламных акций в таблицу кампаний, используйте следующий оператор:

Как упоминалось ранее, Oracle перенесла все индексы, ограничения и гранты из таблицы рекламных акций в таблицу кампаний. Следующий оператор показывает ограничения новой таблицы кампаний, перенесенной из таблицы рекламных акций:

 Таблица Oracle RENAME - недопустимые объекты

Поскольку функция COUNT_PROMOTIONS ссылается на таблицу рекламных акций, при переименовании таблицы рекламных акций функция COUNT_PROMOTIONS становится недействительной.

Чтобы найти недопустимые объекты в текущей схеме, вы запрашиваете данные из представления all_objects следующим образом:

Oracle RENAME таблица - ограничения

Как видите, оператор возвращает функцию COUNT_PROMOTIONS как недопустимый объект.

В этом руководстве вы узнали, как использовать табличный оператор Oracle RENAME для переименования существующей таблицы в базе данных.

В этом учебном пособии Oracle объясняется, как использовать оператор Oracle ALTER TABLE для добавления столбца, изменения столбца, удаления столбца, переименования столбца или переименования таблицы (с синтаксисом, примерами и практическими упражнениями).

Описание

Инструкция Oracle ALTER TABLE используется для добавления, изменения или удаления/удаления столбцов в таблице. Оператор Oracle ALTER TABLE также используется для переименования таблицы.

Добавить столбец в таблицу

Синтаксис

Для ДОБАВЛЕНИЯ СТОЛБЦА в таблицу используется следующий синтаксис Oracle ALTER TABLE:

Пример

Давайте рассмотрим пример, показывающий, как добавить столбец в таблицу Oracle с помощью инструкции ALTER TABLE.

Этот пример Oracle ALTER TABLE добавит столбец с именем customer_name в таблицу customers с типом данных varchar2(45).

В более сложном примере вы можете использовать оператор ALTER TABLE, чтобы добавить новый столбец, который также имеет значение по умолчанию:

В этом примере столбец с именем city был добавлен в таблицу customers с типом данных varchar2(40) и значением по умолчанию "Сиэтл".

Добавить несколько столбцов в таблицу

Синтаксис

Для ДОБАВЛЕНИЯ НЕСКОЛЬКИХ СТОЛБЦОВ в существующую таблицу используется следующий синтаксис Oracle ALTER TABLE:

Пример

Давайте рассмотрим пример, показывающий, как добавить несколько столбцов в таблицу Oracle с помощью инструкции ALTER TABLE.

В этом примере Oracle ALTER TABLE будут добавлены два столбца: customer_name в виде поля varchar2(45) и city в виде поля varchar2(40) со значением по умолчанию ' Сиэтл" в таблицу customers.

Изменить столбец в таблице

Синтаксис

Чтобы ИЗМЕНИТЬ СТОЛБЦ в существующей таблице, Oracle ALTER TABLE использует следующий синтаксис:

Пример

Давайте рассмотрим пример, показывающий, как изменить столбец в таблице Oracle с помощью инструкции ALTER TABLE.

В этом примере Oracle ALTER TABLE столбец с именем customer_name изменит тип данных varchar2(100) и заставит столбец не допускать пустых значений.

В более сложном примере вы можете использовать оператор ALTER TABLE, чтобы добавить значение по умолчанию, а также изменить определение столбца:

В этом примере оператор ALTER TABLE изменит столбец с именем city, чтобы он имел тип данных varchar2(75), значение по умолчанию будет установлено на "Сиэтл", а столбец будет установлен, чтобы не допускать пустых значений.

Изменить несколько столбцов в таблице

Синтаксис

Для ИЗМЕНЕНИЯ НЕСКОЛЬКИХ СТОЛБЦОВ в существующей таблице используется следующий синтаксис Oracle ALTER TABLE:

Пример

Давайте рассмотрим пример, показывающий, как изменить несколько столбцов в таблице Oracle с помощью инструкции ALTER TABLE.

В этом примере Oracle ALTER TABLE будут изменены столбцы customer_name и city. Столбец customer_name будет иметь тип данных varchar2(100) и не допускает пустых значений. Столбец city будет иметь тип данных varchar2(75), его значение по умолчанию будет установлено на "Сиэтл", а в столбце не будут приниматься нулевые значения.

Удалить столбец в таблице

Синтаксис

Чтобы УДАЛИТЬ СТОЛБЦ в существующей таблице, Oracle ALTER TABLE использует следующий синтаксис:

Пример

Давайте рассмотрим пример, показывающий, как удалить столбец в таблице Oracle с помощью оператора ALTER TABLE.

В этом примере Oracle ALTER TABLE будет удален столбец с именем customer_name из таблицы с именем customers.

Переименовать столбец в таблице
(НОВОЕ в Oracle 9i Release 2)

Синтаксис

Начиная с Oracle 9i Release 2 теперь вы можете переименовывать столбец.

Чтобы ПЕРЕИМЕНОВАТЬ СТОЛБЦ в существующей таблице, Oracle ALTER TABLE использует следующий синтаксис:

Пример

Давайте рассмотрим пример, показывающий, как переименовать столбец в таблице Oracle с помощью оператора ALTER TABLE.

В этом примере Oracle ALTER TABLE столбец с именем customer_name переименовывается в cname.

Переименовать таблицу

Синтаксис

Для ПЕРЕИМЕНОВАНИЯ ТАБЛИЦЫ используется следующий синтаксис Oracle ALTER TABLE:

Пример

Давайте рассмотрим пример, показывающий, как переименовать таблицу в Oracle с помощью оператора ALTER TABLE.

В этом примере Oracle ALTER TABLE таблица customers будет переименована в contacts.

Исходя из приведенной ниже таблицы departments, переименуйте таблицу departments в depts.

Следующий оператор Oracle ALTER TABLE переименует таблицу departments в depts:

Исходя из приведенной ниже таблицы employees, добавьте столбец с именем bonus, который представляет собой числовой тип данных (6).

Следующий оператор Oracle ALTER TABLE добавит столбец bonus в таблицу employees:

Исходя из приведенной ниже таблицы customers, добавьте два столбца: один столбец с именем имя_контакта, тип данных varchar2(50), и один столбец с именем last_contacted это тип данных даты.

Следующий оператор Oracle ALTER TABLE добавит столбцы contact_name и last_contacted в таблицу customers:

Исходя из приведенной ниже таблицы employees, измените столбец employee_name на тип данных varchar2(75).

Следующий оператор Oracle ALTER TABLE изменит тип данных для столбца employee_name на varchar2(75):

Исходя из приведенной ниже таблицы customers, измените столбец customer_name, чтобы он НЕ допускал пустых значений, и измените столбец state на varchar2(2 ) тип данных.

Следующий оператор Oracle ALTER TABLE изменит столбцы customer_name и state в таблице customers соответствующим образом:

Исходя из приведенной ниже таблицы сотрудники, удалите столбец зарплата.

Следующий оператор Oracle ALTER TABLE удалит столбец salary из таблицы employees:

Исходя из приведенной ниже таблицы departments, переименуйте столбец department_name в dept_name.

Следующий оператор Oracle ALTER TABLE переименует столбец department_name в dept_name в таблице departments:

Читайте также: