2013-12-19 6 views
1

Я готовлю к миграции и имею хранимую процедуру, которая использует оператор * = , который, как я знаю, является левым внешним соединением. Эта БД находится в режиме совместимости 80 (SQL Server 2000), но в поле 2005. Я иду в 2008R2 (режим 100). Функциональность = не поддерживается в 90 или более поздней версии совместимости Так что мой вопрос будет хранимая процедура продолжать работать, если я просто изменить « =» до «LEFT OUTER JOIN»* = эквивалент оператора в 90 или более поздних версиях

Надеюсь, я дал всю информацию необходимо ответить на вопрос.

С уважением

+0

Что случилось, когда вы попробовали? –

+0

Я еще не пробовал. Я запустил советник по обновлению 2008 года, и этот вопрос возник из одной из пуль в отчете, который он сгенерировал – DrHouseofSQL

ответ

1

Да вы можете использовать LEFT JOIN в качестве эквивалента. Также убедитесь, что вы использовали правильный синтаксис для LEFT JOIN.

От MSDN

SQL Server поддерживает как SQL-92 внешнее соединение синтаксиса и синтаксис устаревших для указания внешних связей, основанный на использование *= and =* операторов в ИНЕКЕ. Синтаксис SQL-92 рекомендуется , поскольку он не подлежит двусмысленности, которая иногда возникает из внешних соединений Transact-SQL.

Смежные вопросы