O2SS0160: Standard Edition LECT ステートメントが変換されていません (エラー)
この記事では、SQL Server Migration Assistant (SSMA) for Oracle が句の形式が正しくない ORDER BY
2 つのシナリオでステートメントを変換SELECT
しない理由について説明します。
背景
SSMA で複雑な SELECT
ステートメントを変換できない場合があります。
考えられる対処方法
SSMA が select ステートメントを変換せず、エラー メッセージを生成しないシナリオは 2 つあります。
シナリオ 1: SELECT DISTINCT
階層クエリのステートメントで CONNECT BY PRIOR
ステートメントを使用する
次の例を確認してください。
SELECT DISTINCT
empno,
MGR,
ename
FROM
emp
START WITH MGR = 7902
CONNECT BY PRIOR MGR = empno;
SSMA で前のコードを変換しようとすると、次のエラー メッセージが生成されます。
O2SS0160: Standard Edition LECT ステートメントが変換されない
この問題を解決するには、次の 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
2 つの列に基づいて結果セットを並べ替えますが、句で SELECT
指定されている列は 1 つだけです
次の例を確認してください。
SELECT Empno
FROM emp
ORDER BY 1, 2;
SSMA で前のコードを変換しようとすると、次のエラー メッセージが生成されます。
O2SS0160: Standard Edition LECT ステートメントが変換されない
このエラーを解決するには、句内の列の数を ORDER BY
減らすか、句に列を SELECT
追加します。
2 番目の列が次から削除された更新されたクエリを次に ORDER BY
示します。
SELECT Deptno
FROM emp
ORDER BY 1;
SSMA によってクエリが正常に変換されるようになりました。
関連する変換メッセージ
- O2SS0268: 外部結合を含む階層クエリを変換できない
- O2SS0285: 階層型クエリが変換されませんでした
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示