Re: Function Syntax Help - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Function Syntax Help
Date
Msg-id CAFj8pRAeWkr13tK6BNBHr_3FoSbvkFzLHBdH=0exG2sOEHC5FA@mail.gmail.com
Whole thread Raw
In response to Function Syntax Help  (Dennis Ryan <dennis@kabonkulator.com>)
List pgsql-general
Hello

You are using PLpgSQL CASE statement

this start by CASE keyword and finishing by END CASE keywords

CREATE OR REPLACE FUNCTION sn_dm_b.pm_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
    CASE
        WHEN NEW.period =  201001
                THEN INSERT INTO sn_dm_b.pm201001 VALUES (NEW.*);
    END;
    RETURN NULL;
END CASE; -- <<<<<<<<<<<<<
$$ LANGUAGE plpgsql;




2014-06-26 0:19 GMT+02:00 Dennis Ryan <dennis@kabonkulator.com>:
I having trouble with correct syntax to get this trigger function to compile.  I have tried every combination of removing the ‘;’ characters but the function will not compile.  Can someone tell me what I am doing wrong, I am stumped. I will be adding addition when clauses the case statement once I get this simplified version to compile.

I am using 9.3.4, both postgres and psql.


CREATE OR REPLACE FUNCTION sn_dm_b.pm_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
    CASE
        WHEN NEW.period =  201001
                THEN INSERT INTO sn_dm_b.pm201001 VALUES (NEW.*);
    END;
    RETURN NULL;
END;
$$ LANGUAGE plpgsql;


ERROR:  syntax error at or near ";"
LINE 7:     END;

pgsql-general by date:

Previous
From: Raymond O'Donnell
Date:
Subject: Re: Function Syntax Help
Next
From: Shaun Thomas
Date:
Subject: Re: Function Syntax Help