首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server存储过程附近的不正确语法

SQL Server存储过程附近的不正确语法
EN

Stack Overflow用户
提问于 2018-08-07 19:56:38
回答 1查看 682关注 0票数 0

我无法创建这个存储过程,错误告诉我AS的语法是不正确的。请帮帮我!我已经在任何地方搜索了我的错误,或者如何重新定义存储过程,但我没有成功。

代码语言:javascript
复制
IF EXISTS (SELECT * FROM sys.objects 
           WHERE object_id = OBJECT_ID(N'[dbo].[PRC_BizAgi_Obtener_Anualidad]')
             AND type in (N'P'))
BEGIN 
    DROP PROCEDURE [dbo].[PRC_BizAgi_Obtener_Anualidad]
END

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[PRC_BizAgi_Obtener_Anualidad]
    @id_NinoCentro INT 
AS
    DECLARE @periodo INT
    SET @periodo = YEAR(GETDATE())

    /*SET @id_NinoCentro = ncp.id_Nino;*/

AS <-------- INCORRECT SYNTAX
BEGIN
    SET NOCOUNT ON;

    SELECT 
        ncp.id_NinoCentro,
        CAST (MAX(ncp.Ano) AS VARCHAR)+''+ 
              CASE 
                 WHEN MAX(ncp.Mes) > 9 
                    THEN CAST(MAX(ncp.Mes) AS VARCHAR) 
                    ELSE '0'+ CAST(MAX(ncp.Mes) AS VARCHAR)
              END AS periodo
    FROM
        nino_centro_pago ncp 
    WHERE
        periodo = @periodo
        AND ncp.id_NinoCentro = @id_NinoCentro
        AND ProductoFlex = '101'
        AND PagaInscr = 1
    GROUP BY
        ncp.id_NinoCentro
    HAVING
        COUNT(*) >= 6
END
EN

回答 1

Stack Overflow用户

发布于 2018-08-07 20:03:12

在参数之后,您应该有AS ... BEGIN ... --现在,您有两个AS --就在参数之后,在声明和设置@periodo变量之后--您应该拥有one only

代码语言:javascript
复制
CREATE PROCEDURE [dbo].[PRC_BizAgi_Obtener_Anualidad]
    @id_NinoCentro INT 
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @periodo INT
    SET @periodo = YEAR(GETDATE())

    -- rest of your procedure here....

END
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51734507

复制
相关文章

相似问题

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