problema con el use

10/09/2003 - 13:04 por rakel | Informe spam
Buenas, se que dentro de un procedimiento almacenado no se
puede poner ningun use. Tenia entendido que haciendo asi
set @sql = N'use '+ @nombres +' exec master..prueba'
EXEC sp_executesql @sql
se controlaba ese tema, pero me da errores, y metiendo un
db_name() dentro del procedimiento prueba, me doy cuenta
que siempre esta en la master. Problema. Alguna forma de
solucionarlo? o tengo que solucionarlo poniendo dentro del
procedimiento sentencias use, dentro de exec, es decir,
exec ('use XXXX select .')
Muchas gracias por aclararme la duda.

Preguntas similare

Leer las respuestas

#1 Sebastián Sarasate
10/09/2003 - 18:59 | Informe spam
Yo mas que usar la sentencia como vos decía la usaría asi:

USE mibase
EXEC (BLA BLA BLA)
"Isaías" escribió en el mensaje
news:01a701c377b4$16a979d0$
Hola

La sentencia en SQL

EXEC ('USE MASTER SELECT...BLA, BLA')

Debe funcionar.

Mas sin embargo, te recomiendo utilices

SELECT * FROM MyServer.MyBase.dboMyTabla

o bien

EXEC MyServer.MyBase.dbo.pr_MyProcedimiento

Saludos.
Respuesta Responder a este mensaje
#2 Félix Vela
11/09/2003 - 08:02 | Informe spam
El problema de lo que comentas es:
1. que en un procedimiento almacenado no se puede hacer asi
2. si se hace exec('use bd1') solo se te cambia la base de
datos para el codigo que esta dentro del exec. Saludos.
Félix Vela
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida