URGENTE select de TABLA dinamica

06/11/2004 - 01:14 por Luis Ramírez | Informe spam
tengo un SP q tiene una serie de SELECTs (entre otras cosas)
de una tabla u otra segun un parametro

if x=1 Select * from Tabla1

if x=2 Select * from Tabla2

como hago para hacer un solo select y pasar el nombre de la tabla por
parametros?

algo asi:

if x=1 TName=Tabla1 else TName= tabla2

Select * from TName

Saludos gracias...

Preguntas similare

Leer las respuestas

#1 Isaias
06/11/2004 - 01:58 | Informe spam
Algo asi?

DECLARE @MyTabla VARCHAR(50), @SQLString NVARCHAR(100)
SET @MyTabla = 'CLIENTE'
SET @SQLString = N'SELECT * FROM '+@MyTabla
EXEC sp_executesql @SQLString
Respuesta Responder a este mensaje
#2 MAXI
06/11/2004 - 15:59 | Informe spam
Lo que dice el amigo Isaias es verdad, pero sabes una cosa? a mi y a muchos
no nos gusta el uso de Sql-Dinamico!! y ojo no es que seamos caprichosos ni
mucho menos, sino que tenemos nuestros motivos :-)

Aca te paso un link para que empieces a leer y saques vos mismo tus propias
conclusiones ;)

http://www.hayes.ch/sql/sql_dinamico.html




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Luis Ramírez" escribió en el mensaje
news:%
tengo un SP q tiene una serie de SELECTs (entre otras cosas)
de una tabla u otra segun un parametro

if x=1 Select * from Tabla1

if x=2 Select * from Tabla2

como hago para hacer un solo select y pasar el nombre de la tabla por
parametros?

algo asi:

if x=1 TName=Tabla1 else TName= tabla2

Select * from TName

Saludos gracias...


Respuesta Responder a este mensaje
#3 Luis Ramírez
08/11/2004 - 20:44 | Informe spam
gracias por el documento...
(aun me urge)

igual para ambos, NO ME FUNCIONO dice q tego q declarar a variable pero si
esta...

aca les paso un pedazo del codigo...
en la ultima linea me dice DEBE DECLARAR LA VARIABLE @Tabla

alter proc Tarifas @TipoProveedor int
as

declare @Tabla nvarchar(50)

if (@TipoProveedor=1)
@Tabla = 'Tabla1'
else
@Tabla = 'Tabla2'

Select * from @Tabla














"MAXI" wrote in message
news:
Lo que dice el amigo Isaias es verdad, pero sabes una cosa? a mi y a


muchos
no nos gusta el uso de Sql-Dinamico!! y ojo no es que seamos caprichosos


ni
mucho menos, sino que tenemos nuestros motivos :-)

Aca te paso un link para que empieces a leer y saques vos mismo tus


propias
conclusiones ;)

http://www.hayes.ch/sql/sql_dinamico.html




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Luis Ramírez" escribió en el mensaje
news:%
> tengo un SP q tiene una serie de SELECTs (entre otras cosas)
> de una tabla u otra segun un parametro
>
> if x=1 Select * from Tabla1
>
> if x=2 Select * from Tabla2
>
> como hago para hacer un solo select y pasar el nombre de la tabla por
> parametros?
>
> algo asi:
>
> if x=1 TName=Tabla1 else TName= tabla2
>
> Select * from TName
>
> Saludos gracias...
>
>


Respuesta Responder a este mensaje
#4 ulises
09/11/2004 - 00:10 | Informe spam
No puedes ejecutarla de esa manera, tendrías que declarar
una cadena, guardar en ella la sentencia SQL y ejecutarla
con sp_executesql. Pero también pienso que es una mala idea
es mejor realizar :

IF @TipoProveedor=1
SELECT campos FROM Tabla1
ELSE
SELECT campos FROM Tabla2

Saludos,
Ulises

gracias por el documento...
(aun me urge)

igual para ambos, NO ME FUNCIONO dice q tego q declarar a


variable pero si
esta...

aca les paso un pedazo del codigo...
en la ultima linea me dice DEBE DECLARAR LA VARIABLE @Tabla

alter proc Tarifas @TipoProveedor int
as

declare @Tabla nvarchar(50)

if (@TipoProveedor=1)
@Tabla = 'Tabla1'
else
@Tabla = 'Tabla2'

Select * from @Tabla














"MAXI" wrote in message
news:
Lo que dice el amigo Isaias es verdad, pero sabes una




cosa? a mi y a
muchos
no nos gusta el uso de Sql-Dinamico!! y ojo no es que




seamos caprichosos
ni
mucho menos, sino que tenemos nuestros motivos :-)

Aca te paso un link para que empieces a leer y saques




vos mismo tus
propias
conclusiones ;)

http://www.hayes.ch/sql/sql_dinamico.html




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Luis Ramírez" escribió en el mensaje
news:%
> tengo un SP q tiene una serie de SELECTs (entre otras




cosas)
> de una tabla u otra segun un parametro
>
> if x=1 Select * from Tabla1
>
> if x=2 Select * from Tabla2
>
> como hago para hacer un solo select y pasar el nombre




de la tabla por
> parametros?
>
> algo asi:
>
> if x=1 TName=Tabla1 else TName= tabla2
>
> Select * from TName
>
> Saludos gracias...
>
>






.

Respuesta Responder a este mensaje
#5 Luis Ramírez
09/11/2004 - 21:27 | Informe spam
GRACIAS

Asi lo hare...

(lo malo es q soy como 12 selects de T1 y de T2)


Saludos


"ulises" wrote in message
news:513301c4c5e8$27115b70$
No puedes ejecutarla de esa manera, tendrías que declarar
una cadena, guardar en ella la sentencia SQL y ejecutarla
con sp_executesql. Pero también pienso que es una mala idea
es mejor realizar :

IF @TipoProveedor=1
SELECT campos FROM Tabla1
ELSE
SELECT campos FROM Tabla2

Saludos,
Ulises

gracias por el documento...
(aun me urge)

igual para ambos, NO ME FUNCIONO dice q tego q declarar a


variable pero si
esta...

aca les paso un pedazo del codigo...
en la ultima linea me dice DEBE DECLARAR LA VARIABLE @Tabla

alter proc Tarifas @TipoProveedor int
as

declare @Tabla nvarchar(50)

if (@TipoProveedor=1)
@Tabla = 'Tabla1'
else
@Tabla = 'Tabla2'

Select * from @Tabla














"MAXI" wrote in message
news:
Lo que dice el amigo Isaias es verdad, pero sabes una




cosa? a mi y a
muchos
no nos gusta el uso de Sql-Dinamico!! y ojo no es que




seamos caprichosos
ni
mucho menos, sino que tenemos nuestros motivos :-)

Aca te paso un link para que empieces a leer y saques




vos mismo tus
propias
conclusiones ;)

http://www.hayes.ch/sql/sql_dinamico.html




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Luis Ramírez" escribió en el mensaje
news:%
> tengo un SP q tiene una serie de SELECTs (entre otras




cosas)
> de una tabla u otra segun un parametro
>
> if x=1 Select * from Tabla1
>
> if x=2 Select * from Tabla2
>
> como hago para hacer un solo select y pasar el nombre




de la tabla por
> parametros?
>
> algo asi:
>
> if x=1 TName=Tabla1 else TName= tabla2
>
> Select * from TName
>
> Saludos gracias...
>
>






.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida