0

Oracle 11g でケースを使用して(PL/SQL 内で) いくつかの操作を行うことはできますか、または値を返す必要があります。つまり、mysql でこれを行うことができます。

Select <column> from <table> where <conditions>;

case <column>   
 when 1 then      
  -- Quite many processes, queries, inserts, etc   
 when 2 then  
  -- some complex code  
-- And so on

オラクルで達成することは可能ですか?
また、これができるかどうかも知りたいです。その行でオラクルエラーが発生するため、 ELSEのCaseステートメント
でいくつかの変数を設定してください

CASE WHEN <condition> THEN varY := z ELSE var1:= x, var2:=x, var3:=y END
4

1 に答える 1

2

CASE本当に PL/SQL について話しているのであれば、ステートメントで複数の操作を実行できるコードです。CASE投稿したコードは、PL/SQL のステートメントがEND CASEnotで終わる構文エラー以外は問題なく動作するはずENDです。

SQL> ed
Wrote file afiedt.buf

  1  declare
  2    l_var1 number := 4;
  3    l_var2 number := 8;
  4  begin
  5    case when l_var1 = l_var2
  6         then l_var1 := 12;
  7         else
  8            l_var1 := 10;
  9            l_var2 := 6;
 10            dbms_output.put_line( 'I''m in the ELSE clause' );
 11     end case;
 12* end;
SQL> /
I'm in the ELSE clause

PL/SQL procedure successfully completed.

PL/SQL ではなく SQL について話している場合、いいえ、SQL のCASEステートメントに PL/SQL 変数を割り当てるような手続き型ステートメントを埋め込むことはできません。

于 2013-02-08T22:44:25.747 に答える