Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改SQL Server 2008中存储过程的名称_Sql_Visual Studio 2008_Sql Server 2008 - Fatal编程技术网

更改SQL Server 2008中存储过程的名称

更改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”

我有一个通过VisualStudio2008编辑的存储过程。有没有一种简单的方法来更改存储过程的名称?现在,如果我查看存储过程的属性,存储过程的名称将变灰。

如果您有SSM,可以右键单击过程名称并选择“重命名”


另一个选项是删除过程并用新名称重新创建它。

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';