2015-08-26 2 views
5

[Проводка вопрос от клиента на внутренней резьбой]Переименовать объект не поддерживается в Azure SQL Data Warehouse?

Я попытался выполнить следующие команды в SQL DW:

RENAME OBJECT dbo.test TO test2 
RENAME OBJECT test TO test2 

Оба потерпели неудачу со следующей ошибкой:

No item by the name of '[DemoDB].[dbo].[test]' could be found in the current database 'DemoDB', given that @itemtype was input as '(null)'. 

Это дефект или есть обходной путь, который я могу использовать?

ответ

4

RENAME теперь поддерживается. Чтобы использовать объект переименования, вы должны префикс таблицы, которую вы хотите изменить, с таким именем схемы:

RENAME OBJECT x.T_New TO T;

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

ALTER SCHEMA dbo TRANSFER OBJECT :: x.T_NEW;

+1

Быстрый просмотр - исправление будет получено в течение следующих 2 недель! –

+0

Quick FYI - это исправление поддерживает только переименование таблицы в рамках одной и той же схемы. –

0

RENAME теперь поддерживается. Чтобы использовать объект переименования, вы должны префикс таблицы, которую вы хотите изменить, с таким именем схемы:

RENAME OBJECT x.T_New TO T;

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

ALTER SCHEMA dbo TRANSFER OBJECT :: x.T_NEW;

Смежные вопросы