O2SS0160: инструкция SELECT не преобразована (ошибка)
В этой статье описывается, почему Помощник по миграции SQL Server (SSMA) для Oracle не преобразует инструкцию SELECT
в двух сценариях с неправильными ORDER BY
предложениями.
Общие сведения
Существуют случаи, когда SSMA не может преобразовать сложные SELECT
операторы.
Возможные решения
Существует два сценария, в которых SSMA не преобразует инструкцию select и создает сообщение об ошибке.
Сценарий 1. SELECT DISTINCT
Оператор используется с CONNECT BY PRIOR
оператором в иерархическом запросе
Рассмотрим следующий пример:
SELECT DISTINCT
empno,
MGR,
ename
FROM
emp
START WITH MGR = 7902
CONNECT BY PRIOR MGR = empno;
При попытке преобразовать предыдущий код в SSMA он создает следующее сообщение об ошибке:
O2SS0160: инструкция SELECT не преобразована
Чтобы устранить эту проблему, используйте ORDER BY
предложение в исходном коде Oracle, как показано в следующем примере:
SELECT DISTINCT
empno,
MGR,
ename
FROM
emp
START WITH MGR = 7902
CONNECT BY PRIOR MGR = empno
ORDER BY empno;
SSMA теперь успешно преобразует запрос.
Сценарий 2. ORDER BY
Предложение сортирует результирующий набор на основе двух столбцов, но только один столбец указан в SELECT
предложении
Рассмотрим следующий пример:
SELECT Empno
FROM emp
ORDER BY 1, 2;
При попытке преобразовать предыдущий код в SSMA он создает следующее сообщение об ошибке:
O2SS0160: инструкция SELECT не преобразована
Чтобы устранить эту ошибку, уменьшите количество столбцов в ORDER BY
предложении или добавьте в предложение дополнительные столбцы SELECT
.
Ниже приведен обновленный запрос со вторым столбцом, удаленным из ORDER BY
:
SELECT Deptno
FROM emp
ORDER BY 1;
SSMA теперь успешно преобразует запрос.
Связанные сообщения преобразования
- O2SS0268. Иерархический запрос с внешним соединением невозможно преобразовать
- O2SS0285. Иерархический запрос не был преобразован
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по