[英]Change name of stored procedure in SQL Server 2008
我有一个存储过程,我通过Visual Studio 2008编辑。是否有一种简单的方法来更改存储过程的名称? 现在,如果我查看sproc的属性,sproc的名称将变灰。
EXEC sp_rename OLDNAME, NEWNAME
这假设您可以通过VS2008执行SQL语句。
如果您有SSMS,则可以右键单击过程名称并选择重命名。
另一种选择是删除过程并使用新名称重新创建它。
这个问题很老,已经看到了回答,但只是知道重命名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.
sp_rename <oldname> <newname>
在SQL Server 2008 R2中,sys.procedures似乎已更新。 (在测试环境中)
重命名存储过程sql server:
正确答案: 查看此文章。
用法: sp_rename'[old_object_name]','[new_object_name]','[object_type]'
在SQL Server中重命名存储过程
EXEC sp_rename 'Proc_OldSpName', 'Proc_NewSpName';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.