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

В этом руководстве вы узнаете, как переименовать таблицу с помощью Transact SQL и SQL Server Management Studio.

SQL Переименование таблицы с помощью Transact SQL

SQL Server не имеет оператора, который напрямую переименовывает таблицу. Однако он предоставляет вам хранимую процедуру sp_rename, которая позволяет вам изменить имя таблицы.

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

EXEC sp_rename 'old_table_name', 'new_table_name'

Обратите внимание, что как старое, так и новое имя таблицы, имя которой изменяется, должны быть заключены в одинарные кавычки.

Давайте рассмотрим следующий пример.

Сначала создайте новую таблицу с именем sales.contr для хранения данных о договорах купли-продажи:

CREATE TABLE sales.contr(
    contract_no INT IDENTITY PRIMARY KEY,
    start_date DATE NOT NULL,
    expired_date DATE,
    customer_id INT,
    amount DECIMAL(10, 2)
); 

Во-вторых, используйте хранимую процедуру sp_rename, чтобы переименовать таблицу sales.contr в contracts в схеме продаж:

EXEC sp_rename 'sales.contr', 'contracts';

SQL Server возвращает следующее сообщение:

Caution: Changing any part of an object name could break scripts and stored procedures.

Однако таблица была успешно переименована.

Переименование таблицы SQL Server с помощью SSMS

Другой способ переименовать таблицу — использовать функцию, предоставляемую SQL Server Management Studio.

В следующем примере показано, как переименовать таблицу product_history в product_archive.

Сначала щелкните правой кнопкой мыши по имени таблицы и выберите пункт меню «Переименовать»:

Во-вторых, введите новое имя таблицы, например, product_archive, и нажмите Enter:

В этом руководстве вы узнали, как переименовать таблицу в базе данных с помощью хранимой процедуры sp_rename и SQL Server Management Studio.

Мирослав С.

Автор статей, ИБ-специалист