Переименование определяемых пользователем функций

Область применения:SQL ServerAzure SQL Database

Вы можете переименовать только определяемые пользователем функции в SQL Server с помощью SQL Server Management Studio.

ограничения

  • Имена функций должны соответствовать правилам для идентификаторов.

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

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

Разрешения

Для удаления функции требуется разрешение ALTER на схему, к которой принадлежит функция, или разрешение CONTROL для функции. Для повторного создания функции требуется разрешение CREATE FUNCTION на базу данных и разрешение ALTER на схему, в которой создается функция.

Использование среды SQL Server Management Studio

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

  2. Выберите знак плюса рядом с папкой Programmability .

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

    • Table-valued Function
    • Скалярная функция
    • Агрегатная функция
  4. Щелкните правой кнопкой мыши функцию, которую нужно переименовать, и выберите пункт Переименовать.

  5. Введите новое имя функции.

Использование Transact-SQL

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

Дополнительные сведения см. в разделе CREATE FUNCTION (Transact-SQL) и DROP FUNCTION (Transact-SQL).

См. также