Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как передать параметром имя БД в запрос  [new]
Коляндер
Member

Откуда: СПб
Сообщений: 188
Здравствуйте.

Есть запрос SELECT * FROM DEMO Он выполняется на БД DEMOZAL.

Мне необходимо сделать в одном запроса два селекта, к двум разным БД. Как имя БД передать параметром в запрос?

Т.е.:

SELECT * FROM DEMOZAL..DEMO

SELCET * FROM DEMOZAL2..DEMO

Как эти имена параметром туда запихнуть?
24 мар 12, 13:09    [12306112]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Коляндер, динамический SQL + UNION ALL
24 мар 12, 13:11    [12306121]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
Коляндер
Member

Откуда: СПб
Сообщений: 188
kDnZP, это понятно. А нельзя по другому? Сейчас так и юзаю
24 мар 12, 13:14    [12306131]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
Коляндер
Member

Откуда: СПб
Сообщений: 188
А как проверить при записи:

exec (@ScriptText)

Что есть результат?
24 мар 12, 13:38    [12306241]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Коляндер, поглядеть что в 17 строке. Обычно все ошибки там.
Ну и может print вам тоже поможет.
24 мар 12, 13:46    [12306277]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
Коляндер
Member

Откуда: СПб
Сообщений: 188
kDnZP,

Я имел ввиду запись типа IF EXISTS (SELECT * FROM *)

Как это воплотить с записью EXEC(@SCRIPT)?
24 мар 12, 13:51    [12306296]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Коляндер
Как это воплотить с записью EXEC(@SCRIPT)?


"В лобовую", собственно.

DECLARE @x varchar(300)
SET @x='IF EXISTS (SELECT * FROM dbo.... WHERE ...=4) PRINT ''AAA'''
EXEC(@x)
24 мар 12, 14:46    [12306439]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Коляндер,

И - да, рекомендую: Рекомендации по оформлению сообщений в форуме
24 мар 12, 14:47    [12306443]     Ответить | Цитировать Сообщить модератору
 Re: Как передать параметром имя БД в запрос  [new]
Fat Cat
Member

Откуда: Украина, Днепропетровск
Сообщений: 8
рекомендую ещё посмотреть в сторону sp_executesql она поддерживает параметры, в том числе output
25 мар 12, 00:47    [12308820]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить