0

以下のように、手順にCASEステートメントを単純に記述しました

((T1.DEVICEHOLD = 'Z1' または T2.ISHOLD = 1) の場合、1
       そうでなければ 0
       END) AS HOLD

しかし、プロシージャをコンパイルすると、エラーが発生します パッケージ本体のコンパイルエラー

エラー: PLS-00103: 次のいずれかを期待しているときに、シンボル「Z1」が見つかりました:

          * & = - + ; at in is mod 残り not rem
            または != または ~= >= およびまたは LIKE2_ のように
          || の間の LIKE4_ LIKEC_ マルチセットメンバーSUBMULTISET_
       「Z1」の前に記号「*」を挿入して続行しました。

誰でもこれを解決するのを手伝ってもらえますか?

前もって感謝します!

4

1 に答える 1

3

これはコンパイラ エラーです。最も可能性の高い原因は'どこかに迷いがあることです。つまり、'スニペットの最初の文字列が引用符で囲まれた文字列を終了Z1するため、コンパイラはコードであると見なし、それ自体は有効ではありません。

そのようなものを見つける最も簡単な方法は、構文の強調表示を備えた適切なエディターまたは IDE を使用することです。これらのツールは、引用、キーワード、コメントに色を付けて、ブルマを作成した場所を簡単に見つけられるようにします。利用可能な無料のツールがたくさんあります。Notepad++またはOracle SQL Developerが一般的なオプションです。

于 2013-12-26T11:29:24.790 に答える