Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамческий выбор базы данных / 10 сообщений из 10, страница 1 из 1
18.12.2018, 19:43
    #39749822
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Народ,
Есть необходимость на одном сервере просматривать несолько баз данных используя параметр имени базы.
Что-то типа такого:

PARAMETER dbname varchar(50)

/*set dbName = 'DB1'*/

USE "dbName"

SELECT * from Table1

Как мне переданный параметр имени базы корректно использовать в команде USE?
Всем спасибо.
...
Рейтинг: 0 / 0
18.12.2018, 19:55
    #39749830
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
...
Рейтинг: 0 / 0
18.12.2018, 20:06
    #39749834
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Гавриленко Сергей Алексеевич,

Не работает

declare @dbname varchar(50)
set @dbName = 'USE '+ 'DB1'
exec sp_executesql @dbName
SELECT * from Table1

Или

declare @dbname varchar(50)
set @dbName = 'USE '+ 'DB1'
exec(@dbName)
SELECT * from Table1

Кажется нет перехода в базу DB1, так как выдает на остутствие обьекта Table1

Именено важно открыть ту или иную базу данных.
...
Рейтинг: 0 / 0
18.12.2018, 20:08
    #39749836
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Код: sql
1.
2.
3.
4.
5.
declare @dbname sysname = N'DB1'
declare @sql nvarchar (max)

set @sql = N'USE '+ qoutename(@dbname) + N'; SELECT * from Table1'
exec sp_executesql @dbName
...
Рейтинг: 0 / 0
18.12.2018, 20:37
    #39749851
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Гавриленко Сергей Алексеевич,

спасибо... это в рамках одного запроса... а просто чтобы процедура в БД master как пример, выбирала БД и строила запросы из этой базы?
...
Рейтинг: 0 / 0
18.12.2018, 20:44
    #39749858
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
ValeriiГавриленко Сергей Алексеевич,

спасибо... это в рамках одного запроса... а просто чтобы процедура в БД master как пример, выбирала БД и строила запросы из этой базы?Этот вопрос вы задайте тому, кто придумал вашу архитектуру.
...
Рейтинг: 0 / 0
18.12.2018, 20:48
    #39749862
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
ValeriiГавриленко Сергей Алексеевич,

спасибо... это в рамках одного запроса... а просто чтобы процедура в БД master как пример, выбирала БД и строила запросы из этой базы?
Код: sql
1.
exec sp_executesql N'SELECT * FROM ' + @DBNAME + '.' + @SCHEMA+ '.' + @Table'
...
Рейтинг: 0 / 0
18.12.2018, 21:57
    #39749879
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Relic HunterValeriiГавриленко Сергей Алексеевич,

спасибо... это в рамках одного запроса... а просто чтобы процедура в БД master как пример, выбирала БД и строила запросы из этой базы?
Код: sql
1.
exec sp_executesql N'SELECT * FROM ' + @DBNAME + '.' + @SCHEMA+ '.' + @Table'



это хорошая идея ....
спс
...
Рейтинг: 0 / 0
18.12.2018, 22:02
    #39749880
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
Универсальное решение - выполнять скрипт утилитой sqlcmd.exe
...
Рейтинг: 0 / 0
19.12.2018, 09:12
    #39749945
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамческий выбор базы данных
ValeriiНарод,
Есть необходимость на одном сервере просматривать несолько баз данныхДля просмотра информации в базе совершенно не нужно переключаться на нее. Вы сами себе создали проблему на ровном месте и теперь пытаетесь ее преодолеть.
Откройте для себя варинты задания имени объекта с указанием имени сервера, имени базы, схемы и собственно имени объекта в базе.
Код: sql
1.
Select * from <server>.<database>.<schema>.<table>
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамческий выбор базы данных / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]