Как выполнить одну хранимую процедуру внутри другой хранимой процедуры?Вызов одной хранимой процедуры внутри другой хранимой процедуры на разных серверах
ПРИМЕЧАНИЕ: Оба Хранится Reside Порядок действий в различных серверах
Как выполнить одну хранимую процедуру внутри другой хранимой процедуры?Вызов одной хранимой процедуры внутри другой хранимой процедуры на разных серверах
ПРИМЕЧАНИЕ: Оба Хранится Reside Порядок действий в различных серверах
Самый простой, если вы можете на вашей системе (они должны быть linked - нажмите на ссылку для получения информации о связывании серверов):
EXEC [RemoteServer].DatabaseName.ObjectOwnerName.StoredProcedureName
Посмотрите here для получения дополнительной информации.
Кроме того, для того, чтобы уйти от имен серверов с жестким кодированием, посмотрите на Paul's answer here с синонимами.
Скобки вокруг имени удаленного сервера необходимы только в том случае, если имя содержит недопустимые идентификационные символы, как и любое другое имя в SQL. Я вижу это много, где я работаю, потому что у нас есть много серверов с дефисами в имени, для которых требуются скобки, поэтому люди в конечном итоге используют их для всех имен серверов, что является ненужным уродством, IMO. –
См. Мой ответ, чтобы отвлечь имя сервера от хранимой процедуры. Таким образом, вы можете переместить код между средами и не изменять его. –
Кроме того, вторая-последняя часть является только владельцем базы данных (dbo), если хранимая процедура, о которой идет речь, принадлежит владельцу базы данных. В большинстве проектов это делает, но более правильная спецификация будет ObjectOwnerName. –
В дополнение к ответу @Kyles вы можете добавить synonym, чтобы удалить необходимость в более длинной/связанной структуре. Это абстрагирует сервер, на который ссылаются. Таким образом, вы можете переместить SP из UAT в LIVE, и код не изменится. Синоним в двух средах будет настроен на каждом сервере, чтобы правильно ссылаться на другой сервер в этой среде.
Синонимы должны быть лучшей практикой, жесткое кодирование 4-х частей - это просто запрос на неприятности. +1 – user404463
@ Daytona250: Правда, но он знает, что функциональность доступна, и это всегда проблема. В мою предыдущую роль вступил только новый администратор баз данных, который выделил его команде. До этого мы думали, что единственным способом является жесткая кодировка ссылок. –
Я предполагаю, что S.P является «хранимой процедурой»? –
yes u are right – banupriya