次の方法で共有


ストアド プロシージャの名前を変更する

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して SQL Server 2014 のストアド プロシージャの名前を変更する方法について説明します。

このトピックについて

開始する前に

制限事項と制約条件

  • プロシージャ名は 、識別子の規則に準拠している必要があります。

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

  • プロシージャの名前または定義を変更すると、プロシージャに加えられた変更を反映するようにオブジェクトが更新されないと、依存オブジェクトが失敗する可能性があります。 詳細については、「 ストアド プロシージャの依存関係を表示する」を参照してください。

安全

権限

手順の作成
プロシージャを作成するスキーマに対するデータベースの CREATE PROCEDURE 権限と ALTER 権限が必要です。または、固定データベース ロール db_ddladmin メンバーシップが必要です。

ALTER PROCEDURE
プロシージャに対する ALTER 権限が必要であるか、固定データベース ロール db_ddladmin メンバーシップが必要です。

SQL Server Management Studio の使用

ストアド プロシージャの名前を変更するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [ データベース] を展開し、プロシージャが属するデータベースを展開して、[ プログラミング] を展開します。

  3. ストアド プロシージャの依存関係を決定します

  4. [ストアド プロシージャ] を展開し、名前を変更するプロシージャを右クリックし、[名前の変更] をクリックします。

  5. プロシージャ名を変更します。

  6. 依存オブジェクトまたはスクリプトで参照されるプロシージャ名を変更します。

Transact-SQL の使用

ストアド プロシージャの名前を変更するには

  1. データベース エンジンに接続します。

  2. [標準] バーから、新しいクエリをクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、プロシージャを削除し、新しい名前でプロシージャを再作成して、プロシージャの名前を変更する方法を示します。 最初の例では、ストアド プロシージャ 'HumanResources.uspGetAllEmployeesTestを作成します。 2 番目の例では、ストアド プロシージャの名前を HumanResources.uspEveryEmployeeTest に変更します。

--Create the stored procedure.  
USE AdventureWorks2012;  
GO  
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL   
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;  
GO  
CREATE PROCEDURE HumanResources.uspGetAllEmployeesTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  
  
--Rename the stored procedure.  
USE AdventureWorks2012;  
GO  
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployeesTest', 'P' ) IS NOT NULL   
    DROP PROCEDURE HumanResources.uspGetAllEmployeesTest;  
GO  
CREATE PROCEDURE HumanResources.uspEveryEmployeeTest  
AS  
    SET NOCOUNT ON;  
    SELECT LastName, FirstName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory;  
GO  

こちらもご覧ください

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
ストアド プロシージャを作成する
ストアド プロシージャを変更する
ストアド プロシージャを削除する
ストアド プロシージャの定義を表示する
ストアド プロシージャの依存関係を表示する