首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储过程重命名其他存储过程!

存储过程重命名其他存储过程!
EN

Stack Overflow用户
提问于 2011-07-14 17:53:43
回答 2查看 1.4K关注 0票数 0

我正在使用Server,我一直在开发一个存储过程来重命名其他存储过程(实际上,在它的名称中添加一个前缀)。我一直在尝试这样做,但我不知道为什么会有这个错误。

看看我的代码:

代码语言:javascript
复制
DECLARE @_currentProcedure AS VARCHAR(300)
DECLARE @_newProcedure AS VARCHAR(300)

SET @_currentProcedure = '[dbo].[' + @ProcedureName + ']'
SET @_newProcedure = @Prefx + @ProcedureName 

-- check if this procedure exists
IF (EXISTS(SELECT * 
           FROM [dbo].[sysobjects] 
           WHERE ID = object_id(@_currentProcedure ) 
              AND OBJECTPROPERTY(id, N'IsProcedure') = 1
         )) 
BEGIN
        -- rename it (doesn't work)
        EXEC sp_rename @_currentProcedure , @_newProcedure , 'OBJECT'
        GO

END

当我试图编译它时,我会看到一个错误:

“对象”附近的

错误语法

接近“结束”的错误语法

就像这样。

我能做些什么来修复这个错误并使这个过程工作!?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-14 17:57:29

好吧,GO应该到此为止了。那应该是

代码语言:javascript
复制
BEGIN 
EXEC sp_rename @_currentProcedure , @_newProcedure , 'OBJECT'  
END
GO 
票数 3
EN

Stack Overflow用户

发布于 2011-07-14 17:57:29

_newProcedure是从@过程名设置的,因此缺少了添加到_currentProcedure中的方括号和dbo.

尝试:

代码语言:javascript
复制
 SET @_newProcedure = '[dbo].[' + @Prefx + @ProcedureName + ']' 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6697735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档