Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Re: case when ... then expression

Re: case when ... then expression

From: Oleg Fedorov <OFederov_at_hds-mckhboc.com>
Date: 25 Jun 2001 15:57:48 -0700
Message-ID: <1b18fb6a.0106251457.2b3521c7@posting.google.com>

There are many ways to do that.
1)
IF x>1 THEN INSERT INTO table(id, word) VALUES (ID,'Word1') ELSIF x>2 THEN INSERT INTO table(id, word) VALUES (ID,'Word2') ELSE INSERT INTO table(id, word) VALUES (ID,'Word3');

2)
DECLARE
...
BEGIN ....
  EXECUTE IMMEDIATE 'INSERT INTO table(id, word) VALUES (ID,'||'CASE WHEN '||

      to_char(x)||'>1 THEN ''Word1'' WHEN '||
      to_char(x)||'>2 THEN ''Word2'' ELSE ''Word3'' END)';
...
END;
3) using dbms_sql

Regards,
Oleg Fedorov
OFederov_at_hds-mckhboc.com

"Nicolas MUGNIER" <nunch_at_free.fr> wrote in message news:<IFLZ6.2240$_z5.1737748_at_nnrp5.proxad.net>...
> Hi,
>
> How can I use the CASE WHEN ... THEN expression in a PL/SQL block ?
>
> I'v the following statement:
> INSERT INTO table(id, word) VALUES (ID, CASE WHEN x>1 THEN 'Word1' WHEN x>2
> THEN 'Word2' ELSE 'Word3' END);
>
> This statement works on command line but it doesn't in a PL/SQL block or in
> a stored procedure.
> Can somebody help me ?
>
> Thanks
>
> nunch
Received on Mon Jun 25 2001 - 17:57:48 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US