sql-server – 删除并创建SQL Server过程

我正在尝试删除并在单个脚本中创建一个过程.我试过这个:

IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'Foo')
  DROP PROCEDURE Foo
  GO

CREATE PROCEDURE dbo.Foo
-- procedure body here

但是我收到一个错误:

Incorrect syntax near ‘GO’.

如果我删除GO,我收到一个错误:

‘CREATE/ALTER PROCEDURE’ must be the first statement in a query batch

更新

这些脚本由Java构建工具(Maven)执行

GO实际上并不是T-SQL中的有效术语,它只是Microsoft管理工具用于分隔查询批处理的分隔符.

你用什么来运行脚本?如果您尝试在代码中执行此操作,则需要将其拆分为两个语句,可能使用正则表达式来拆分^ GO $

相关文章
相关标签/搜索