sql dinamico

25/05/2009 - 14:09 por A.M.F. | Informe spam
Hola

Como puedo reeplazar este codigo para no usar el sql dinamico


mitexto = "select * from "+mibd+".dbo.cliente"
exec (mitexto)

Luis

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4101 (20090525) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

Preguntas similare

Leer las respuestas

#1 Maxi
26/05/2009 - 05:12 | Informe spam
Hola, no usando variables y escribiendo un store para cada query.



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



"A.M.F." escribió en el mensaje de
noticias:
Hola

Como puedo reeplazar este codigo para no usar el sql dinamico


mitexto = "select * from "+mibd+".dbo.cliente"
exec (mitexto)

Luis

__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4101 (20090525) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com



Respuesta Responder a este mensaje
#2 A.M.F.
26/05/2009 - 16:56 | Informe spam
lo que pasa es que tengo 15 bd de donde saco la misma infomacion y las bds
siguen aumentando y no quiero tener que estar creando un sp para cada uno, o
en el peor de los casos por olvido no actualizar uno de ellos, por eso hago
este tipo de ejecuciones.

Luis

"Maxi" escribió en el mensaje de noticias
news:
Hola, no usando variables y escribiendo un store para cada query.



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



"A.M.F." escribió en el mensaje de
noticias:
Hola

Como puedo reeplazar este codigo para no usar el sql dinamico


mitexto = "select * from "+mibd+".dbo.cliente"
exec (mitexto)

Luis

__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4101 (20090525) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com






__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com







__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
Respuesta Responder a este mensaje
#3 Carlos Sacristan
26/05/2009 - 17:15 | Informe spam
Entiendo que esas son tareas, digamos, de "administración".

Si es así, no hace falta que hagas eso. Puedes crear un procedimiento en
master que empiece por "sp_" y marcarle como objeto de sistema. Una vez
hecho eso, el procedimiento estaría disponible para cada base de datos,
ejecutándose sin problemas en cada una de ellas (siempre y cuando exista el
objeto al que hace referencia, claro)

Por ejemplo:

use master

GO

CREATE PROC dbo.sp_clientes AS

SET NOCOUNT ON

select * from dbo.clientes



GO

EXEC sp_MS_marksystemobject sp_clientes






Un saludo
-
www.navento.com
Servicios de Localización GPS


http://blogs.solidq.com/ES/ElRincon...fault.aspx

"A.M.F." escribió en el mensaje
news:
lo que pasa es que tengo 15 bd de donde saco la misma infomacion y las bds
siguen aumentando y no quiero tener que estar creando un sp para cada uno,
o en el peor de los casos por olvido no actualizar uno de ellos, por eso
hago este tipo de ejecuciones.

Luis

"Maxi" escribió en el mensaje de noticias
news:
Hola, no usando variables y escribiendo un store para cada query.



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



"A.M.F." escribió en el mensaje de
noticias:
Hola

Como puedo reeplazar este codigo para no usar el sql dinamico


mitexto = "select * from "+mibd+".dbo.cliente"
exec (mitexto)

Luis

__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4101 (20090525) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com






__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com







__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com



Respuesta Responder a este mensaje
#4 A.M.F.
26/05/2009 - 19:03 | Informe spam
Solo para salir de dudas
la forma como yo lo ejecuto es desde un procedimiento almacenado, con un
output
algo asi

declare misbd cursor for select nombre from maestro.dbo.misbds
open misbd
fetch next from misbd into @nbd
while @@fetch_status = 0
begin
son las deudas de un cliente en diversas sucursales
set @ejecutar = 'exec '+nbd+'.dbo.sp_creditos
'+''''+@codigo+''''+','+'@deuda decimal output' -- aqui ya me sale un error
porque si capturo el valor me sale inicialmente 0 y eso no retorna el valor
buscado
exec (@ejecutar)

fetch next from misbd into @nbd
end

Luis

"Carlos Sacristan" escribió en el mensaje de noticias
news:
Entiendo que esas son tareas, digamos, de "administración".

Si es así, no hace falta que hagas eso. Puedes crear un procedimiento en
master que empiece por "sp_" y marcarle como objeto de sistema. Una vez
hecho eso, el procedimiento estaría disponible para cada base de datos,
ejecutándose sin problemas en cada una de ellas (siempre y cuando exista
el objeto al que hace referencia, claro)

Por ejemplo:

use master

GO

CREATE PROC dbo.sp_clientes AS

SET NOCOUNT ON

select * from dbo.clientes



GO

EXEC sp_MS_marksystemobject sp_clientes






Un saludo
-
www.navento.com
Servicios de Localización GPS


http://blogs.solidq.com/ES/ElRincon...fault.aspx

"A.M.F." escribió en el mensaje
news:
lo que pasa es que tengo 15 bd de donde saco la misma infomacion y las
bds siguen aumentando y no quiero tener que estar creando un sp para cada
uno, o en el peor de los casos por olvido no actualizar uno de ellos, por
eso hago este tipo de ejecuciones.

Luis

"Maxi" escribió en el mensaje de noticias
news:
Hola, no usando variables y escribiendo un store para cada query.



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



"A.M.F." escribió en el mensaje de
noticias:
Hola

Como puedo reeplazar este codigo para no usar el sql dinamico


mitexto = "select * from "+mibd+".dbo.cliente"
exec (mitexto)

Luis

__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4101 (20090525) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com






__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com







__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4104 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com








__________ Información de ESET NOD32 Antivirus, versión de la base de
firmas de virus 4105 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com







__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4105 (20090526) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida