powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / генерация БД с именем в качестве параметра
6 сообщений из 6, страница 1 из 1
генерация БД с именем в качестве параметра
    #39774579
=Сергей=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть задача - генерация БД с определённой структурой, с параметризованным именем.
БД, таблицы и индексы я сгенерировал через динамические запросы. Дошёл до генерации представлений и вот никак.
Дело в том, в динамическом запросе указать имя БД нельзя - только текущая, и начать динамический запрос с "use <database>" нельзя - только с create view, а как еще выбрать динамическим запросом текущую БД, не знаю.
...
Рейтинг: 0 / 0
генерация БД с именем в качестве параметра
    #39774583
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
use master;

declare @proc sysname = 'tempdb.sys.sp_executesql';

select db_name();
exec @proc N'select db_name()';
...
Рейтинг: 0 / 0
генерация БД с именем в качестве параметра
    #39774635
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Сергей=,

Подготовьте скрипт для SQLCMD, для этой утилиты возможно использовать переменные, например:

Код: sql
1.
2.
:setvar Database "Baza1"
select F1 from [$(Database)].[dbo].[Table]



Значения переменных можно не указывать в скрипте, а передавать в командной строке:

sqlcmd.exec -i script -v Database = "Baza1"
...
Рейтинг: 0 / 0
генерация БД с именем в качестве параметра
    #39774701
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=Сергей=Дело в том, в динамическом запросе указать имя БД нельзя - только текущая, и начать динамический запрос с "use <database>" нельзя - только с create view, а как еще выбрать динамическим запросом текущую БД, не знаю.
Оберните динамический вызов в динамический вызов.
:-)
...
Рейтинг: 0 / 0
генерация БД с именем в качестве параметра
    #39774772
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовЗначения переменных можно не указывать в скрипте, а передавать в командной строке:

sqlcmd.exec -i script -v Database = "Baza1"Если все что нужно это выполнять скрипты определенной базе, то зачем вообще городить огород с переменными, можно просто сразу подлючаться к нужной базе.

Код: sql
1.
sqlcmd -d Baza1
...
Рейтинг: 0 / 0
генерация БД с именем в качестве параметра
    #39775493
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mind,

Кто же знает - чего автор хочет. Может, в перспективе, не только имя базы подставлять.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / генерация БД с именем в качестве параметра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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