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

Откуда:
Сообщений: 283
Добрый день,

подскажите плиз как в процедуре поменять контекст базы - сделать USE DB
Задача такая:
процедура должна выполняться в разных базах, но находиться в одной. Через переменную будет передаваться название базы в которой она должна выполняться.
Спасибо.
5 окт 05, 08:24    [1938554]     Ответить | Цитировать Сообщить модератору
 Re: контекст БД в процедуре  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
С USE никак. Или через динамику. Или можно обращаться к объектам через четырехчастичное именование с явным указанием базы - MyOtherDB..MyTable.
5 окт 05, 08:28    [1938558]     Ответить | Цитировать Сообщить модератору
 Re: контекст БД в процедуре  [new]
Glory
Member

Откуда:
Сообщений: 104760
процедура должна выполняться в разных базах, но находиться в одной.
Это делается через создание системной хранимой процедуры в базе master.
На форуме были топики рассказывающие как это сделать.
5 окт 05, 10:10    [1938842]     Ответить | Цитировать Сообщить модератору
 Re: контекст БД в процедуре  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Procedure(Create Table + Insert + Select) = ?
5 окт 05, 10:27    [1938925]     Ответить | Цитировать Сообщить модератору
 Re: контекст БД в процедуре  [new]
azzzzz
Member

Откуда:
Сообщений: 283
Спасибо,

sp_MS_marksystemobject - то что нужно

смущает, правда немного комментарий к процедуре:
-- FOR INTERNAL USE ONLY ... DO NOT DOCUMENT --
-- This procedure sets a bit in sysobjects. This bit has no meaning, various
-- groups (starfigther, davinci, replication) use it for different things
-- MSQL makes no warranty, express or implied, on what objects will or will
-- not have this bit set. Use at your own risk.
6 окт 05, 13:56    [1944504]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить