0

Forms 6i を使用しています。caseカーソルで式を使用したい。しかし、コードはコンパイルされません。

Forms 6i はカーソル内のケース式をサポートしていませんか? Forms で case 式を記述する他の方法はありますか?

4

2 に答える 2

3

私が考えることができるほとんどすべての場合、ネストされたdecodes の代わりに使用できますcase

それ以外の

 select case when a=1 then 'foo'
             when b>2 then 'bar'
             else 'foobar' end
   from xyz;

あなたは書ける

 select decode(a,1,        'foo',
        decode(sign(b-2),1,'bar',
                           'foobar')) from xyz;

もう 1 つの方法としては、おそらくより洗練された方法として、データベース ビューを作成し、それをフォームで使用する方法がありcaseます。

于 2010-09-09T07:36:57.507 に答える
2

これは、Forms 6i で使用されている pl/sql エンジンが「古く」、CASE開発時にステートメントを認識していなかったためです。(私が思い出したように、サーバー側の pl/sqlCASEは Oracle 9i でのみステートメントを導入しました)

私は Form Builder 9i のコピーを持っていないので、そのバージョンについてコメントすることはできませんが、CASEステートメントは Forms 10g 以降で利用できます。

于 2010-09-09T07:30:10.780 に答える