')附近的语法不正确

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了')附近的语法不正确相关的知识,希望对你有一定的参考价值。

我有一个在存储过程中执行的以下查询,但我收到上述错误。

ALTER PROCEDURE [dbo].[ejemplo] 
    @periodo VARCHAR(2), 
    @ejercicio VARCHAR(20),  
    @sucursales VARCHAR(50), 
    @departamento VARCHAR(2)
AS
    DECLARE @consulta NVARCHAR(MAX);

    SET @consulta = 'select balanza.cuenta, Cuentas.Descripcion, sum(total_mensual) as "Gasto Total" from balanza 
inner join Cuentas on Cuentas.Cuenta = balanza.cuenta where ejercicio = '+@ejercicio+' and periodo in ('+@periodo+') and sucursal in ('+@sucursales+') and departamento in ('+@departamento+') 
group by balanza.cuenta, Cuentas.Descripcion order by balanza.cuenta'

    EXEC (@consulta)

将不胜感激,谢谢!

答案

检查变量@periodo, @sucursales and @departamento。您似乎试图将其传递给'IN'语法。当您打印动态查询时,您会得到

select 
    balanza.cuenta, Cuentas.Descripcion, sum(total_mensual) as "Gasto Total" 
from 
balanza 
inner join Cuentas on 
Cuentas.Cuenta = balanza.cuenta 
where ejercicio = @ejercicio 
    and periodo in (@periodo )  ---Check this variable
    and sucursal in (@sucursales)  ---Check this variable
    and departamento in (@departamento)   ---Check this variable
group by 
balanza.cuenta, 
Cuentas.Descripcion 
order by balanza.cuenta

我认为您可能需要更改逻辑以将其传递给'IN'子句

以上是关于')附近的语法不正确的主要内容,如果未能解决你的问题,请参考以下文章

')附近的语法不正确

SQL Server:'DUMP'附近的语法不正确

为什么程序抛出SqlException:'每次运行'ItemID'附近的语法不正确? [关闭]

错误:消息102,级别15,状态1,过程InsertCustomers,第30行'THROW'附近的语法不正确

运行此查询时收到错误消息“'(' 附近的语法不正确”

sql的vba代码中''附近的语法不正确