SQL
Запрос , который я использовал это:
ALTER TABLE oldtable RENAME TO newtable;
Но это дает мне ошибку.
Сервер: сообщение 156, уровень 15, состояние 1, строка 1
Неверный синтаксис рядом с ключевым словом «TO».
sql-server
rename
alter-table
переключатель
источник
источник
.
в себе, используйте[]
вокруг имени таблицы. (Я знаю, я знаю, но точки могут произойти ...) Например,sp_rename '[Stupid.name]', 'NewName'
или со схемойsp_rename '[dbo.Stupid.name]', 'NewName'
'NewName'
поле, иначе ваша таблица может выглядеть примерно такdbo.dbo.NewName
.CREATE SYNONYM [schema].[synonymName] FOR [schema].[tableName]
Чтобы переименовать столбец:
Чтобы переименовать таблицу:
источник
При использовании sp_rename, который работает как в приведенных выше ответах, проверьте также, какие объекты затрагиваются после переименования, которые ссылаются на эту таблицу, потому что их тоже нужно изменить
Я взял пример кода для табличных зависимостей в блоге Пинала Дейва здесь
Таким образом, все эти зависимые объекты должны быть обновлены также
Или используйте некоторые надстройки, если вы можете, некоторые из них имеют функцию для переименования объекта, и все также зависят от объектов.
источник
Если вы попытаетесь
exec sp_rename
получить ошибку LockMatchID, это может помочь сначала добавить оператор use [database]:Я старался
Чтобы исправить это, я должен был переписать его так:
источник
Имя таблицы
колонка
Индекс
также доступны для статики и типов данных
источник
Это то, что я использую:
источник
Ничто не сработало из предложенного здесь .. Так что просто поместил данные в новую таблицу
может быть кому то пригодится ..
В моем случае он не распознал новую схему, а dbo был владельцем ..
Работал на меня. Я нашел это из скрипта, сгенерированного автоматически при обновлении PK для одной из таблиц. Таким образом, он также распознал новую схему.
источник
Чтобы изменить имя таблицы с другой схемой:
Пример: измените dbo.MyTable1 на wrk.MyTable2
источник