我收到以下错误:
Msg 156,Level 15,State 1,Procedure pa_Calcular_Anticipo,Line 31
关键字'from'附近的语法不正确。
我尝试过移动代码块和评论,但我似乎无法找到问题。
这是存储过程:
ALTER procedure [dbo].[pa_Calcular_Anticipo]
(
@Tipo_Moneda as numeric(18,0),
@Dias as numeric(18,2),
@Ciudad_Origen as numeric(18,2),
@Ciudad_Destino as numeric(18,2),
@ArregloPropio int=0
)
AS
Begin
SET NOCOUNT ON
--Declaracion
Declare @Tasa_Aeropuerto_Origen as numeric(18,2)--
Declare @Tasa_Aeropuerto_Destino as numeric(18,2)--
Declare @Monto_Telefono_Destino as numeric(18,2)--
Declare @Monto_Comida_Destino as numeric(18,2)--
Declare @Monto_Propina_Destino as numeric(18,2)--
Declare @Resultado numeric(18,2)
Declare @Taxi_Aeropuerto_Origen numeric(18,2)--
Declare @Taxi_Aeropuerto_Destino numeric(18,2)--
Declare @Taxi_Interno_Destino numeric(18,2)--
--Obtener Data de la Ciudad Destino
Select @Tasa_Aeropuerto_Destino = Tasa_Aereoportuaria,
@Monto_Telefono_Destino = monto_telefono,
@Monto_Comida_Destino = monto_comida,
@Monto_Propina_Destino = monto_propina,
@Taxi_Interno_Destino = Tarifa_Taxi_Interno,
@Taxi_Aeropuerto_Destino = Tarifa_Taxi_Aeropuerto
from dbo.tb_Ciudades
where cod_ciudad = @Ciudad_Destino
--Obtener data de la ciudad Origen
Select @Tasa_Aeropuerto_Origen = Tasa_Aereoportuaria,
@Taxi_Aeropuerto_Origen = monto_telefono,
from dbo.tb_Ciudades
where cod_ciudad=@Ciudad_Destino
-- Opciones
IF (@ArregloPropio = 1) --anticipo = si, Traslado = no
--Monto Calculado = ((Comida + Teléfono + propina) * Días) + (Tasa Aeropuerto Origen + Tasa Aeropuerto Destino)
BEGIN
set @resultado = ((@Monto_Comida_Destino + @Monto_Telefono_Destino + @Monto_Propina_Destino) *@Dias) + ( @Tasa_Aeropuerto_Origen +@Tasa_Aeropuerto_Destino)
END
IF (@ArregloPropio = 2) --Anticipo es igual a “No” y Traslado es igual “No”
BEGIN
set @resultado = 0
END
IF (@ArregloPropio = 3) --Anticipo es igual a “Si” y Traslado es igual “Arreglo Propio”
--Monto Calculado = ((Comida + Teléfono + propina) * Días) + (Tasa Aeropuerto Origen + Tasa Aeropuerto Destino) + ((Monto Traslados Internos) * Días) + (Traslados Aeropuerto Origen + Traslados Aeropuerto Destino)
BEGIN
set @resultado = ((@Monto_Comida_Destino + @Monto_Telefono_Destino + @Monto_Propina_Destino) *@Dias) + ( @Tasa_Aeropuerto_Origen +@Tasa_Aeropuerto_Destino) + ((@Taxi_Interno_Destino) *Dias) + ( Taxi_Aeropuerto_Destino + @Taxi_Aeropuerto_Origen )
END
IF (@ArregloPropio = 4) --Anticipo es igual a “No” y Traslado es igual “Arreglo Propio”
--Monto Calculado = (Monto Traslados Internos * Días) + (Tasa Aeropuerto Origen + Tasa Aeropuerto Destino)
BEGIN
set @resultado = ((@Taxi_Interno_Destino) *Dias) +( @Tasa_Aeropuerto_Origen +@Tasa_Aeropuerto_Destino)
END
IF (@ArregloPropio = 5) --Anticipo es igual a “Si” y Traslado es igual “Servicio”
--Monto Calculado = ((Comida + Teléfono + Propina) * Días) + (Monto Traslados Internos * Días) + (Tasa Aeropuerto Origen + Tasa Aeropuerto Destino)
BEGIN
set @resultado = ((@Monto_Comida_Destino + @Monto_Telefono_Destino + @Monto_Propina_Destino) *@Dias) + ((@Taxi_Interno_Destino) *Dias) + ( @Tasa_Aeropuerto_Origen +@Tasa_Aeropuerto_Destino)
END
IF (@ArregloPropio = 6) --Busqueda por Codigo
BEGIN
set @resultado = 0
END
select @resultado as Monto_Calculado
end
答案 0 :(得分:8)
你有额外的逗号,在这里:
Select @Tasa_Aeropuerto_Origen = Tasa_Aereoportuaria,
@Taxi_Aeropuerto_Origen = monto_telefono,
from dbo.tb_Ciudades
where cod_ciudad=@Ciudad_Destino
答案 1 :(得分:2)
从第二个选择@Taxi_Aeropuerto_Origen = monto_telefono,