ユーザー定義関数名の変更

適用対象:SQL ServerAzure SQL Database

SQL Server でユーザー定義関数の名前を変更できるのは、SQL Server Management Studio だけです。

制限事項と制約事項

  • 関数名は、 識別子の規則に従っている必要があります。

  • ユーザー定義関数の名前を変更しても、 sys.sql_modules カタログ ビューの定義列にある、対応するオブジェクトの名前は変更されません。 したがって、このオブジェクト型の名前を変更しないことをお勧めします。 代わりに、ストアド プロシージャを削除して新しい名前で再作成してください。

  • ユーザー定義関数の名前または定義を変更すると、依存オブジェクトを更新してその関数に加えられた変更を反映しなければ、その依存オブジェクトが失敗する可能性があります。

アクセス許可

関数を削除するには、関数が属するスキーマに対する ALTER 権限、または関数に対する CONTROL 権限が必要です。 関数を再作成するには、データベースの CREATE FUNCTION 権限と、関数を作成するスキーマの ALTER 権限が必要です。

SQL Server Management Studio の使用 [SQL Server]

  1. オブジェクト エクスプローラーで、名前を変更する関数が格納されているデータベースの横にあるプラス記号を選択します。

  2. Programmability フォルダーの横にあるプラス記号を選択します。

  3. 名前変更する次の関数を含むフォルダーの横にあるプラス記号を選択します。

    • Table-valued Function
    • スカラー値関数
    • 集計関数
  4. 名前を変更する関数を右クリックし、 [名前の変更]を選択します。

  5. 関数の新しい名前を入力します。

Transact-SQL の使用

Transact-SQL ステートメントを使用して、このタスクを実行することはできません。 Transact-SQL を使用してユーザー定義関数の名前を変更するには、まず既存の関数を削除してから、新しい定義を使用して再作成する必要があります。 関数の古い名前を使用していたすべてのコードおよびアプリケーションが、新しい名前を使用していることを確認します。

詳細については、「CREATE FUNCTION (Transact-SQL)」および「DROP FUNCTION (Transact-SQL)」を参照してください。

関連項目