varchar(8000)

25/02/2004 - 22:00 por Jorge Aguilar | Informe spam
Hola a todos estoy haciendo un store variable asi com sigue

declare @strsqlp varchar(8000),
@id_empresa varchar(2), @id_sucursal varchar(2),
@fecha_ini datetime, @fecha_fin datetime,
@tipo varchar(1),
@id_linea varchar(2), @id_grupo varchar(2), @id_tipo varchar(2), @id_familia
varchar(2), @id_articulo varchar(2),
@id_tpo_cliente varchar(10), @id_cliente varchar(10), @strsql varchar(8000)

set @strsql = '
select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo=v.id_articulo and
fec_documento between @fecha_ini and @fecha_fin '
if len(@id_linea) =2
begin
set @strsql=@strsql + ' and a.id_linea = "'+@id_empresa+@id_linea +
'" '
end

cuanod o hago que me imprima el valor de la @strsql sale
"select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo="
ose a que la variable no acpeta todo el valor de la sentencia sql, tengo que
agregar unos 10 ifs mas asi que ceo que pasarlo a una variable es la
solucion pero no funciona alguan otra idea??

Saludos,
Jorge
 

Leer las respuestas

#1 Maximiliano D. A.
25/02/2004 - 22:03 | Informe spam
Hola!! eso se configura de:

Herramientas -- Opciones, luego solapa Resultados y donde dice "Numero
maximo de Catacteres por Columna" pone 8500 por ej y decime como te va si?


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Jorge Aguilar" escribió en el mensaje
news:%23nhTZJ%23%
Hola a todos estoy haciendo un store variable asi com sigue

declare @strsqlp varchar(8000),
@id_empresa varchar(2), @id_sucursal varchar(2),
@fecha_ini datetime, @fecha_fin datetime,
@tipo varchar(1),
@id_linea varchar(2), @id_grupo varchar(2), @id_tipo varchar(2),


@id_familia
varchar(2), @id_articulo varchar(2),
@id_tpo_cliente varchar(10), @id_cliente varchar(10), @strsql


varchar(8000)

set @strsql = '
select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo=v.id_articulo and
fec_documento between @fecha_ini and @fecha_fin '
if len(@id_linea) =2
begin
set @strsql=@strsql + ' and a.id_linea = "'+@id_empresa+@id_linea


+
'" '
end

cuanod o hago que me imprima el valor de la @strsql sale
"select
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_unidades,0)
when "E" then isnull(tot_exportacion_unidades,0)
else isnull(tot_nacional_unidades,0) + isnull(tot_exportacion_unidades,0)
end ) as Unidades,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_local,0)
when "E" then isnull(tot_exportacion_moneda_local,0)
else isnull(tot_nacional_moneda_local,0) +
isnull(tot_exportacion_moneda_local,0) end ) as Soles,
sum( case upper(@tipo)
when "L" then isnull(tot_nacional_moneda_base,0)
when "E" then isnull(tot_exportacion_moneda_base,0)
else isnull(tot_nacional_moneda_base,0) +
isnull(tot_exportacion_moneda_base,0) end ) as Dolares
from ventas_resumen v, cliente c, articulo a
where c.id_cliente=v.id_cliente and a.id_Articulo="
ose a que la variable no acpeta todo el valor de la sentencia sql, tengo


que
agregar unos 10 ifs mas asi que ceo que pasarlo a una variable es la
solucion pero no funciona alguan otra idea??

Saludos,
Jorge









Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004

Preguntas similares