')附近的语法不正确
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'
子句
以上是关于')附近的语法不正确的主要内容,如果未能解决你的问题,请参考以下文章
为什么程序抛出SqlException:'每次运行'ItemID'附近的语法不正确? [关闭]