Re: executing delete in a case statement? - Mailing list pgsql-general

From Richard Huxton
Subject Re: executing delete in a case statement?
Date
Msg-id 200211051042.21973.dev@archonet.com
Whole thread Raw
In response to executing delete in a case statement?  (Jean-Christian Imbeault <jc@mega-bucks.co.jp>)
List pgsql-general
On Tuesday 05 Nov 2002 10:03 am, Jean-Christian Imbeault wrote:
> What is the proper way to execute a delete statement (if possible) in a
> case statement. I am trying various versions of the following but can't
> get it to work:
>
> "select member_id, case when (select count(buy_later) from cart_li where
> member_id=cart_id AND buy_later=true) > 0 then (delete from cart_li
> where cart_id=10) end from carts"

The "case" is supposed to be returning a value not taking actions. SQL is not
a procedural language like C/Perl/PHP etc.

SELECT a,
          CASE WHEN a=1 THEN 'one'
               WHEN a=2 THEN 'two'
               ELSE 'other'
          END
    FROM test;

See "functions and operators" in the manual for details.

--
  Richard Huxton

pgsql-general by date:

Previous
From: Jean-Christian Imbeault
Date:
Subject: executing delete in a case statement?
Next
From: Richard Huxton
Date:
Subject: Re: log file?