2016-12-21 3 views
1

Я пытаюсь создать хранимую процедуру в базе данных под названием DB_Interface так:«CREATE/ALTER PROCEDURE» должен быть первым оператором в пакете запроса

USE [DB_Interface] 
GO 

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE OR ALTER PROCEDURE [dbo].[ProcToCCreate] 

Это проливает ошибка:

Msg 156, Level 15, State 1, Line 6
Incorrect syntax near the keyword 'OR'.

Msg 111, Level 15, State 1, Line 10
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.`

Это моя первая хранимая процедура - не уверен, что я не могу использовать Create или Alter, как я ее использовал. Любая помощь очень ценится

+1

В 'ORACLE' это возможно не в' MSSQL'. Для 'MSSQL' вы должны использовать либо' CREATE PROCEDURE [spname], либо ALTER PROCEDURE [spname] ' – Abhishek

+1

. Либо ключевое слово' CREATE', либо 'ALTER' используется не как –

+0

. Я попытался выполнить непосредственно процедуру ALTER ранее, но это было сказано неверно. имя объекта. Я даже обновил локальный кеш. Поэтому попробовал дать Create или Alter. В чем может быть проблема? – trx

ответ

2
CREATE PROCEDURE [dbo].[ProcToCCreate] 

ИЛИ

CREATE PROC [dbo].[ProcToCCreate] 

являются действительными только синтаксис в SQL Server.

Если вы хотите ALTER процедуры Синтаксис

ALTER PROCEDURE [dbo].[ProcToCCreate] 
+1

Или я могу напрямую использовать ПРОЦЕДУРА ALTER? – trx

+0

@trx: Да, вы можете. Обновлен мой ответ. – DarkKnight

+0

Я попытался дать непосредственно процедуру ALTER ранее, но он сказал недопустимое имя объекта. Я даже обновил локальный кеш. Поэтому попробовал дать Create или Alter. Что может быть проблемой – trx

1

творю:

USE [DB_Interface] 
GO 

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE PROCEDURE [dbo].[ProcToCCreate] 

AS 

RETURN 

ALTER:

USE [DB_Interface] 
    GO 
    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 

    ALTER PROCEDURE [dbo].[ProcToCCreate] 

    AS 

    RETURN 
0
CREATE OR ALTER PROCEDURE [dbo].[ProcToCCreate] 
AS 
RETURN; 

разрешен Синтаксис в (возможно) SQL-Server 2016 (проверен только на SQL-сервере 2016 с пакетом обновления 1)

Смежные вопросы