Forms 6i を使用しています。case
カーソルで式を使用したい。しかし、コードはコンパイルされません。
Forms 6i はカーソル内のケース式をサポートしていませんか? Forms で case 式を記述する他の方法はありますか?
Forms 6i を使用しています。case
カーソルで式を使用したい。しかし、コードはコンパイルされません。
Forms 6i はカーソル内のケース式をサポートしていませんか? Forms で case 式を記述する他の方法はありますか?
私が考えることができるほとんどすべての場合、ネストされたdecode
s の代わりに使用できます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
ます。
これは、Forms 6i で使用されている pl/sql エンジンが「古く」、CASE
開発時にステートメントを認識していなかったためです。(私が思い出したように、サーバー側の pl/sqlCASE
は Oracle 9i でのみステートメントを導入しました)
私は Form Builder 9i のコピーを持っていないので、そのバージョンについてコメントすることはできませんが、CASE
ステートメントは Forms 10g 以降で利用できます。