本文介绍了为什么CREATE PROCEDURE语句时,我与IF语句在这里使用它失败?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想如果存在要删除存储过程,然后通过做这样创建:
I am trying to DROP a stored procedure if it exists and then CREATE it by doing this way:
IF OBJECT_ID('[dbo].[myStoredProc]') IS not NULL
DROP PROCEDURE dbo.myStoredProc
CREATE PROCEDURE [dbo].[myStoredProc]
(
@parameter1 BIT
) AS
IF @parameter1 = 1
BEGIN
....
但是,抱怨说:
CREATE PROCEDURE必须在该批次中唯一的语句
问:如何解决我的脚本来克服这种
Question: How can I fix my script to overcome this?
推荐答案
您需要把走
在你的第一个逻辑批处理结束。
You need to put a go
at the end of your first logical batch.
IF OBJECT_ID('[dbo].[myStoredProc]') IS not NULL
DROP PROCEDURE dbo.myStoredProc
go -- you need to add the batch-terminator 'go'
CREATE PROCEDURE [dbo].[myStoredProc]
(
@parameter1 BIT
) AS
IF @parameter1 = 1
BEGIN
..
这篇关于为什么CREATE PROCEDURE语句时,我与IF语句在这里使用它失败?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!