更改SQL Server 2008中存储过程的名称
我有一个通过VisualStudio2008编辑的存储过程。有没有一种简单的方法来更改存储过程的名称?现在,如果我查看存储过程的属性,存储过程的名称将变灰。如果您有SSM,可以右键单击过程名称并选择“重命名”更改SQL Server 2008中存储过程的名称,sql,visual-studio-2008,sql-server-2008,Sql,Visual Studio 2008,Sql Server 2008,我有一个通过VisualStudio2008编辑的存储过程。有没有一种简单的方法来更改存储过程的名称?现在,如果我查看存储过程的属性,存储过程的名称将变灰。如果您有SSM,可以右键单击过程名称并选择“重命名” 另一个选项是删除过程并用新名称重新创建它。EXEC sp\u重命名旧名称,新名称 这是假设您可以通过VS2008执行SQL语句。这个问题很老,已经被认为已经得到了回答,但要知道,重命名SP不是一个好主意,因为它不会更新sys.procedures 比如说,, 创建一个SP“SP_abc”
另一个选项是删除过程并用新名称重新创建它。
EXEC sp\u重命名旧名称,新名称
这是假设您可以通过VS2008执行SQL语句。这个问题很老,已经被认为已经得到了回答,但要知道,重命名SP不是一个好主意,因为它不会更新sys.procedures 比如说,, 创建一个SP“SP_abc” 现在,重新命名它
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\u重命名
在SQL Server 2008 R2中,sys.procedures似乎已更新。(在测试环境中)重命名存储过程sql server: 正确答案: 用法:
sp\u重命名“[旧对象名称]”、“[新对象名称]、“[对象类型]”
,如中所述
更好的解决方案是删除存储过程并重新创建它
用新名字
这样做
DROP PROCEDURE [dbo].[Procedure_Name]
然后
重命名SQL Server中的存储过程
EXEC sp_rename 'Proc_OldSpName', 'Proc_NewSpName';
是的,这很奇怪,我无法在VS2008中重命名,以前从未注意到。在ManagementStudio中工作,但在VS2008中无法完成。语法错误。正确的是sp_重命名,
DROP PROCEDURE [dbo].[Procedure_Name]
Create Procedure [dbo].[GetEmployees]
as
....
EXEC sp_rename 'Proc_OldSpName', 'Proc_NewSpName';