Изменить имя хранимой процедуры в SQL Server 2008 - PullRequest
8 голосов
/ 03 июля 2010

У меня есть хранимая процедура, которую я редактирую с помощью Visual Studio 2008. Существует ли простой способ изменить имя хранимой процедуры? Прямо сейчас, если я посмотрю на свойства спрока, его имя будет выделено серым цветом.

Ответы [ 7 ]

20 голосов
/ 03 июля 2010

EXEC sp_rename OLDNAME, NEWNAME

Предполагается, что вы можете выполнять операторы SQL через VS2008.

12 голосов
/ 03 июля 2010

Если у вас SSMS, вы можете щелкнуть правой кнопкой мыши на имени процедуры и выбрать переименовать.

Другой вариант - удалить процедуру и заново создать ее с новым именем.

10 голосов
/ 19 апреля 2013

Этот вопрос очень старый и уже рассматривается как ответивший, но просто чтобы знать, что Переименование SP не является хорошей идеей , поскольку оно не обновляет sys.procedures.

Например, создатьSP "sp_abc",

CREATE PROCEDURE [dbo].[sp_abc]
AS
BEGIN
    SET NOCOUNT ON;
  SELECT ID,
         Name
  FROM tbl_Student WHERE IsDeleted = 0
END

Теперь, переименуйте его

sp_rename 'sp_abc', 'sp_Newabc'

Это показывает следующее предупреждение.

Caution: Changing any part of an object name could break scripts and stored procedures.

Теперь смотрите sp_Newabc

sp_helptext sp_Newabc

Вы можете увидеть этот результат.

CREATE PROCEDURE [dbo].[sp_abc]
AS    
BEGIN    
    SET NOCOUNT ON;
  SELECT ID,    
         Name    
  FROM tbl_Student WHERE IsDeleted = 0    
END

Он все еще содержит старое имя процедуры sp_abc.Потому что при переименовании SP он не обновляет sys.procedure.

Better solution is to drop the stored procedure and re-create it with the new name.
1 голос
/ 31 января 2018

Переименование хранимой процедуры в SQL Server

EXEC sp_rename 'Proc_OldSpName', 'Proc_NewSpName';
1 голос
/ 01 февраля 2014

Переименование хранимой процедуры sql server:

Для правильного ответа: Просмотреть эту статью.

Использование: sp_rename'[old_object_name]','[new_object_name]','[object_type]'

1 голос
/ 02 октября 2013
sp_rename <oldname> <newname>

В SQL Server 2008 R2 похоже, что sys.procedures обновлен.(в тестовой среде)

0 голосов
/ 18 июля 2016

как ккк упоминается в его ответ

Better solution означает drop хранимую процедуру и re-create это с новым именем.

чтобы сделать это

DROP PROCEDURE [dbo].[Procedure_Name]

тогда

Create Procedure [dbo].[GetEmployees]  
as 
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...