Имя базыданных в качестве параметра

JustNoob
Дата: 28.01.2013 12:02:12
Здравствуйте.

Встала задача написать процедуру, которая в качестве параметра принимает имя базы данных.
Т.е. в теле процедуры идет обращение к таблицам переданной в качестве параметра базы.
Как сделать что-то вроде:

SELECT * FROM @DBNAME.dbo.MyTable

Есть ли возможность реализовать нечто подобное без использования EXEC?
Гавриленко Сергей Алексеевич
Дата: 28.01.2013 12:03:10
JustNoob
Дата: 28.01.2013 12:22:50
Как делать с помощью EXEC я понимаю, но мне необходимо без нее.
Может быть можно использовать USE @DBNAME, но вот как это сделать?

При попытке реализовать:

SET @DBNAME = 'MYDB'
USE @DBNAME
SELECT * FROM MyTable

конечно же ничего не получается.
iap
Дата: 28.01.2013 12:23:59
Лучше сделать секционированное представление для dbo.MyTable из всех баз.
Гавриленко Сергей Алексеевич
Дата: 28.01.2013 12:24:28
JustNoob
Как делать с помощью EXEC я понимаю, но мне необходимо без нее.
Тогда найдите какую-нибудь другую СУБД, в которой вы сможете выполнить динамический запрос без EXEC.
AlexandrPlus
Дата: 28.01.2013 14:57:07
JustNoob
Как делать с помощью EXEC я понимаю, но мне необходимо без нее.


Если не секрет - это в какой ситуации?