我无法创建这个存储过程,错误告诉我AS的语法是不正确的。请帮帮我!我已经在任何地方搜索了我的错误,或者如何重新定义存储过程,但我没有成功。
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发布于 2018-08-07 20:03:12
在参数之后,您应该有AS ... BEGIN ... --现在,您有两个AS --就在参数之后,在声明和设置@periodo变量之后--您应该拥有one only
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....
ENDhttps://stackoverflow.com/questions/51734507
复制相似问题