From: | Jim Nasby <decibel(at)decibel(dot)org> |
---|---|
To: | jef peeraer <jef(dot)peeraer(at)telenet(dot)be> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: pl/pgsql NEW variable substitution |
Date: | 2006-09-27 14:28:25 |
Message-ID: | DBFF058F-07B8-49C4-9776-2B5F85E43FEA@decibel.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sep 27, 2006, at 6:16 AM, jef peeraer wrote:
> i want to check in a trigger if certain columns are not left empty.
> The columns i have to check are stored in another table. How do i
> do the following
>
> BEGIN
> SELECT INTO col_record * FROM modules WHERE type_module_id =
> NEW.type_module_id AND is_afsluit_kolom;
> IF NOT FOUND THEN
> RAISE EXCEPTION 'geen afsluitkolom gedefinieerd voor type_module
> % ', NEW.type_module_id;
> ELSE
> col_naam := col_record.kolom_naam;
> RAISE NOTICE 'kolom to check is % ', col_naam;
> --- check if afsluitrecord is empty
> IF NEW.col_naam != '' THEN
> RETURN NEW;
> ELSE
> RAISE EXCEPTION 'dit record is afgesloten voor wijzigingen !';
> END IF;
> END IF;
> END;
>
>
> I want col_naam to be evaluated before used with NEW . Now i get a
> warning that the table the trigger is written for doesn't has a
> column 'col_naam'.
Try http://www.postgresql.org/docs/8.1/interactive/plpgsql-
statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN, though I'm not sure
if it'll work with NEW.
--
Jim Nasby jim(at)nasby(dot)net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
From | Date | Subject | |
---|---|---|---|
Next Message | Rafal Pietrak | 2006-09-27 14:28:37 | postgress 8.1.4 deadlocking?? |
Previous Message | Jim Nasby | 2006-09-27 14:18:58 | Re: Restart after power outage: createdb |