SQL - Error de Sintaxis sentencia WITH en SQL 2000

 
Vista:

Error de Sintaxis sentencia WITH en SQL 2000

Publicado por waldoivan (1 intervención) el 01/04/2011 18:15:27
Estimados, ojalá alguien me pueda ayudar.

Tenemos una aplicación hecha en VS.NET con SQL server 2005 y la estamos subiendo a un Hosting que funciona con Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) y usa un interfaz Web para administrar las bases de datos llamado ASP.NET Enterprise Manager 0.1.3.

Ya creamos todas las tablas de la BD en el hosting y subimos casi todos los Store Procedure, salvo 1 que me arroja un error de sintaxis que el SQL 2005 No arroja.

El mensaje de error es el siguiente:
ERROR: Line 8:Incorrect syntax near ';'. Incorrect syntax near the keyword 'WITH'. Incorrect syntax near the keyword 'end'. Source: .Net SqlClient Data Provider.

He borrado el punto y coma ';' y he modificado los paréntesis basado en literatura de Internet pero sigue arrrojando otros errores de Sintaxis. Si alguien me puede ayudar se lo agradezco muchísimo!!!!! Gracias Anticipadas.

Les copio el SP:
CREATE PROCEDURE [dbo].[SP_REPROGRAMACION_REAL]
@cod_proyecto varchar(20),
@id_etapa varchar(20)
as
begin

;WITH afr1 AS (SELECT * FROM Avance_fisico_real)
update Avance_fisico_real
set
Cant_prog_parcial = afr1.Cant_prog_parcial,
Cant_prog_parcial_acum = afr1.Cant_prog_parcial_acum,
Cant_Avance_fisico = afr1.Cant_Avance_fisico,
Cant_avance_fisico_acum = afr1.Cant_avance_fisico_acum,
Porcen_prog_parcial = afr1.Porcen_prog_parcial,
Porcen_prog_parcial_acum = afr1.Porcen_prog_parcial_acum,
Porcen_real_parcial = afr1.Porcen_real_parcial,
Porcen_real_parcial_acum = afr1.Porcen_real_parcial_acum,
Costo_Planif_Parcial = afr1.Costo_Planif_Parcial,
Costo_Planif_Acum = afr1.Costo_Planif_Acum,
Costo_Teorico = afr1.Costo_Teorico,
Costo_Teorico_Acum = afr1.Costo_Teorico_Acum
from Avance_fisico_real afr2, afr1
where afr1.cod_proyecto = @cod_proyecto
and afr1.id_etapa = @id_etapa
and afr1.num_cambio_prog = ( select max(num_cambio_prog) - 1 from Avance_fisico_real
where cod_proyecto = afr1.cod_proyecto and
id_etapa = afr1.id_etapa and
Cod_partida = afr1.cod_partida and
Año = afr1.año and
Mes = afr1.mes and
semana = afr1.semana)
and (afr2.cod_proyecto = afr1.cod_proyecto
and afr2.id_etapa = afr1.id_etapa
and afr2.num_cambio_prog = afr1.num_cambio_prog + 1
and afr2.Año = afr1.Año
and afr2.Mes = afr1.Mes
and afr2.semana = afr1.semana
and afr2.cod_partida = afr1.cod_partida)

;WITH vf1 AS (SELECT * FROM Vista_Fisico)
update Vista_Fisico
set
Proyectado = vf1.Proyectado,
Real = vf1.Real,
Cumplimiento = vf1.Cumplimiento,
estado = vf1.estado
from Vista_Fisico vf2, vf1
where vf1.cod_proyecto = @cod_proyecto
and vf1.id_etapa = @id_etapa
and vf1.num_cambio_prog = (select max(num_cambio_prog) - 1 from Vista_Fisico where cod_proyecto = @cod_proyecto and id_etapa = @id_etapa )
and (vf2.cod_proyecto = vf1.cod_proyecto
and vf2.id_etapa = vf1.id_etapa
and vf2.num_cambio_prog = vf1.num_cambio_prog + 1
and vf2.Año = vf1.Año
and vf2.Mes = vf1.Mes
and vf2.semana = vf1.semana)

end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Error de Sintaxis sentencia WITH en SQL 2000

Publicado por Leonardo Josué (1173 intervenciones) el 06/04/2011 17:07:43
Hola waldoivan:

Hasta donde recuerdo, la sentencia WITH no es soportada en SQL Server 2000, sino que se incorporó hasta la versión 2005 y posteriores. Deberás buscar otra alternativa para hacer esto.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar