Y si, es un poco teratológico. Pero explico el caso.

Me llegan unas 20 tablas con diseños preestablecidos, donde los nombres
de los campos tienen unos sufijos relacionados con los años
Ejemplo: b0101, b0102,... , b0112  para el 2001
         b0601, b0602,... , b0612  para el 2006, entre otros, además de
que las tablas tabmién tienen nombres distintos relacionados con el año.

El script es un poco largo porque tiene que hallar unas variables un
poco  complejas relacionadas con la exposición de cada caso en el
tiempo, estados al inicio, al final, etc, etc, y se hizo un poco largo,
pero quería dejarlo como un store procedure, con un parámetro que me
indica el año, para luego, dinámicamente procesar la tabla.

No es un para un sistema o programa en el sentido clásico.
No existe absolutamente ningún riesgo de inyección de código.

Lo planteé así porque me parecía la forma natural de resolverlo sin
tener que renombrar los campos o la tabla, o tener que hacer el mismo
script 20 veces, reemplazando los nombres.

Ahora bien, asumiendo esta lìnea de solución, aunque monstruosa, hice lo
siguiente


Create Procedure dbo.MiProcedimiento @Anio int, @strSql text
-- 
as ...


De esta manera, declaro una variable de tipo Text, supuestamente
utilizable al interior del Sp; ya que no admite la declaración normal de
variables de ese tipo. (declare @strSql text ; no está permitido)

No obstante, igual parece comportarse como un varchar(max)

Saludos
Y gracias por vuestros comentarios.






-----Mensaje original-----
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Maxi Accotto
Enviado el: Viernes, 20 de Julio de 2007 09:39 a.m.
Para: Daniel Aisenberg
Asunto: [dbms] varchar de mas de 8k

:-)

-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
 (excelencia en servicios y consultoria  SQLServer)
Orador Culminis - Microsoft Influencier
www.sqltotalconsulting.com
-----------------------------------------------------------


El 20/07/07, Diego Vega <[EMAIL PROTECTED]> escribió:
> Jeje perdon no pude evitarlo...
> Maxi vos sos el mostro!
> Un abrazo..
>
>
> As.Diego Vega
> DBA Departamento de Desarrollo de Sistemas
> Universidad Siglo 21
> Av. Monseñor Pablo Cabrera km 8 y  1/2  Tel: 4757570
> Camino Pajas Blancas - Frente Aeropuerto
> www.uesiglo21.edu.ar – dvega[arroba]uesiglo21.edu.ar
>
> -----Mensaje original-----
> De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Maxi Accotto
> Enviado el: Miércoles, 18 de Julio de 2007 11:56 p.m.
> Para: Diego Vega
> Asunto: [dbms] varchar de mas de 8k
>
> Hola, en un SQL dinamico no vas a poder a menos que uses concatenacion
:)
> Ahora bien, primero:
>
> SQl-dinamico y segundo mas de 8k!! creo que estas creando un Monstruo
>
> El 18/07/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> escribió:
> >
> >  Hay alguna manera de superar el limite de 8k de varchar?
> > Necesito hacer un sql dinamico que supera ese largo.
> > Gracias
> >
> >
>
>
> --
> -----------------------------------------------------------
> Microsoft MVP en SQL Server
> Mentor asociado en SQLTotalConsulting
>  (excelencia en servicios y consultoria  SQLServer) Orador Culminis -
> Microsoft Influencier www.sqltotalconsulting.com
> -----------------------------------------------------------
>
>
>


--

No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.476 / Virus Database: 269.10.10/908 - Release Date:
19/07/2007 06:10 p.m.
 


Responder a