我有一个存储过程需要通过Visual Studio 2008进行编辑。是否有一种简单的方法可以更改存储过程的名称?目前,如果我查看存储过程的属性,存储过程的名称是灰色的。
我有一个存储过程需要通过Visual Studio 2008进行编辑。是否有一种简单的方法可以更改存储过程的名称?目前,如果我查看存储过程的属性,存储过程的名称是灰色的。
EXEC sp_rename OLDNAME, NEWNAME
假设您可以通过VS2008执行SQL语句。
这个问题非常老,已经被视为已解决,但是只是想知道重命名存储过程不是一个好主意,因为它不会更新sys.procedures。
例如,创建一个名为"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。 因为当您重命名存储过程时,它不会更新sys.procedure。
Better solution is to drop the stored procedure and re-create it with the new name.
EXEC sp_rename 'Proc_OldSpName', 'Proc_NewSpName';
sp_rename <oldname> <newname>
重命名 SQL Server 存储过程:
正确答案请参考:查看本文。
用法:sp_rename'[old_object_name]','[new_object_name]','[object_type]'