Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / динамический выбор контекста базы / 3 сообщений из 3, страница 1 из 1
14.11.2002, 12:08:56
    #32067849
keystop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамический выбор контекста базы
Прочитав с утра топик о том как правильно задавать вопросы честно пытался найти хоть что-нибудь, Увы ))
Хотел написать скрип который бы считывал и запускал скрипты в заданном каталоге. Каждая БД лежит в каталоге с соответствующим названием. И вот столкнулся с проблемой динамической установки контекста

Код: plaintext
1.
2.
3.
daclare @db varchar( 100 )
select @db = '[db name]'
exec ' USE ' + @db + ' GO '

не работает

PS то что при запуске скрипта из файла можно указать ключ -D это понятно, но при создании базы могут ссылаться друг на друга
...
Рейтинг: 0 / 0
14.11.2002, 13:50:00
    #32067910
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамический выбор контекста базы
Может быть Вас интересует это :
BOL
Using EXECUTE with a Character String
Use the string concatenation operator (+) to create large strings for dynamic execution. Each string expression can be a mixture of Unicode and non-Unicode data types.

Although each [N] 'tsql_string' or @string_variable must be less than 8,000 bytes, the concatenation is performed logically in the SQL Server parser and never materializes in memory. For example, this statement never produces the expected 16,000 concatenated character string:

EXEC('name_of_8000_char_string' + 'another_name_of_8000_char_string')

Statement(s) inside the EXECUTE statement are not compiled until the EXECUTE statement is executed.

Changes in database context last only until the end of the EXECUTE statement. For example, after the EXEC in this example, the database context is master:

USE master EXEC ("USE pubs") SELECT * FROM authors
...
Рейтинг: 0 / 0
15.11.2002, 11:52:42
    #32068254
Michael Hopgarden
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
динамический выбор контекста базы
for example
Код: plaintext
1.
2.
declare @cmd as varchar ( 512 )
select @cmd = 'isqlw -S ES2 -d ' + db_name() + ' -E -i "\\UNC_path\script.sql" -o "\\UNC_path\log\script.log" -FA'
exec master..xp_cmdshell @cmd
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / динамический выбор контекста базы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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