2015-11-17 11 views
1
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
    -- Add the parameters for the stored procedure here 
    <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
    <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0> 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for procedure here 
    SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> 
END 
GO 

Может ли кто-нибудь помочь мне понять синтаксис SQL? Я новичок в этом форуме, а также в SQL Server. Я хотел бы узнать о команде GO в хранимой процедуре в конце скрипта. Заранее спасибо.Объяснение синтаксиса хранимой процедуры SQL Server

+1

'GO' является ** ** не команда SQL, которые можно использовать внутри хранимой процедуры - это * партия разделителем * в SQL Server Management Studio –

ответ

1

Смотрите MSDN:

сигналы конца партии операторов Transact-SQL для утилиты SQL Server.

Также обратите внимание, что GO не является инструкцией TSQL.

утилиты SQL Server интерпретируют GO как сигнал, что они должны отправить текущий пакет операторов Transact-SQL к экземпляру SQL Server. Текущая партия операторов состоит из всех операторов , введенных с последнего GO, или с момента начала специального сеанса или , если это первый GO.

Его серийный разделитель, используемый в SQL Server Management Studio. Вы можете пойти в Сервис -> Параметры -> Query Execution

enter image description here

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