SQL - Ejecución de un Select construido

 
Vista:

Ejecución de un Select construido

Publicado por Arturo (7 intervenciones) el 27/02/2006 19:56:36
Hola que tal, me gustaría saber como podría ejecutar un selec construido lo tengo de la siguiente manera:

Declare @x nvarchar(100)
Set @x = (Select 'Select * from ' + dbo.valor('Servidor') + '.dbo.SFGC2.Bancos'
from catConstante
Where Indice = '8')
Select @x
exec (@x)

gracias por su ayuda.
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

RE:Ejecución de un Select construido

Publicado por Isaías (5072 intervenciones) el 27/02/2006 22:03:55
¿Que motor de base de datos ocupas?, ¿Que contiene al final la variable @x?
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

RE:Ejecución de un Select construido

Publicado por Arturo (7 intervenciones) el 27/02/2006 23:21:53
No te apures ya lo resolvi de la siguiente manera, lo que pasa es de que me había equivocado en la sinaxis.

Declare @x nvarchar(100)
Set @x = 'Select FolioDelegacion as Indice,NombreCorto,Clave from ' + dbo.valor('Servidor') + 'Delegaciones'
exec (@x)

Pero ahora tengo otro problema, que necesito saber como ejecutarlo desde una vista y en una vista no es permitido declarar variables. Necesito saber si lo puedo ejecutar de alguna manera.

Es que esto lo necesito para cuando se cambie el servidor, y asi evitar la pena de cambiar catálogo por catálogo. Y pues solo con cambiarlo en una parte cambia en todo lo demás. Espero me haya explicado.

Gracias!!
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

RE:Ejecución de un Select construido

Publicado por Isaías (5072 intervenciones) el 27/02/2006 23:51:36
Si, te explicas, vuelvo a preguntar, ¿Que motor de base de datos es?
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

RE:Ejecución de un Select construido

Publicado por Arturo (7 intervenciones) el 28/02/2006 03:58:44
Uso el SQL Server Ver. 8.0 o 2000.
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

RE:Ejecución de un Select construido

Publicado por Isaías (5072 intervenciones) el 28/02/2006 17:02:15
Arturo

¿Porque EJECUTAR desde una vista codigo T-SQL?
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

RE:Ejecución de un Select construido

Publicado por Arturo (7 intervenciones) el 28/02/2006 17:51:38
Lo que pasa es de que quiero ejecutar ese código de manera que la pueda hacer desde una forma por ejemplo en VB o ASP etc... y ahi tengo mi pantalla la cual trae información de la ubicación del servidor, y para no estar cambiando todos los catálogos los cuales los acceso desde un servidor a otro servidor pues entonces hago una pantalla la cual me carga la dirección del servidor y si en algun momento cambia la dirección ó el nombre del servidor y la base de datos que está solo la haga una vez y asi que se ejecute en todas una sola vez. Lo tengo de manera dinámica.

O si tu tienes alguna solución para ejecutar algun stored ó algo que me permita que en una pantalla le pueda cambiar y no tener que cambiar cada vista de cada catálogo pues te agradecería me ayudaras para saber si es posible hacer eso.

Gracias por ayudarme.....
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

RE:Ejecución de un Select construido

Publicado por Isaías (5072 intervenciones) el 28/02/2006 21:15:28
Bueno, eso esta bien, pero EJECUTARLO DESDE UNA VISTA, no creo que pueda ser posible, ademas, deberias ejecutar solo STORE PROCEDURES a tus bases de datos, no ejecutar T-SQL.

** Cuida la Inyeccion de codigo maligno **

Te pongo un ejemplo:

declare @Server VARCHAR(15), @Base VARCHAR(15), @TABLA VARCHAR(15), @SQLString NVARCHAR(1000)

SET @Server = 'SRV_PRODUCCION'
SET @BASE = 'VENTAS
SET @TABLA= 'CLIENTE'
SET @SQLString = N'SELECT * FROM '@Server+'.'+@BASE+'.dbo.'+@TABLA+' WHERE Saldo > 1000'
EXECUTE SP_EXECUTESQL @SQLString
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

RE:Ejecución de un Select construido

Publicado por Arturo (7 intervenciones) el 28/02/2006 21:21:28
Gracias.....
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