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:
Mostrar la cita
#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:
Mostrar la cita
__________ 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
#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:
Mostrar la cita
#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:
Mostrar la cita
__________ 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
Ads by Google
Search Busqueda sugerida