| From: | "Bernard Cheung" <cheungsw(at)hotmail(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Trigger function to know which fields are being updated |
| Date: | 2004-05-07 08:18:43 |
| Message-ID: | BAY1-F25eOtXygrWhju00006312@hotmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
I am writing a trigger function. How can I know which fields are being
updated in the PL/SQL function?
For example I have a table here:
CREATE TABLE COMPANY (
COMPANY_ID VARCHAR(10) NOT NULL,
NAME VARCHAR(30),
ADDRESS VARCHAR(30));
I want to write a trigger to block all update statements without updating
NAME. I tried the following code block and it doesn't work:
IF TG_OP = ''UPDATE'' THEN
IF NEW.NAME IS NULL THEN
RAISE NOTICE ' Field NAME must be provided!';
END IF;
END IF;
Are there any functions like the Oracle's UPDATING() predicate?
Bernard Cheung
_________________________________________________________________
No masks required! Use MSN Messenger to chat with friends and family.
http://go.msnserver.com/HK/25382.asp
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Karel Zak | 2004-05-07 10:14:11 | Re: Removing OIDs without recreate |
| Previous Message | Együd Csaba | 2004-05-07 08:15:46 | Removing OIDs without recreate |