Re: create default

From: Jens Hartwig <jhartwig(at)debis(dot)com>
To: guard <guard(at)ficnet(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: create default
Date: 2001-01-08 07:49:10
Message-ID: 3A5970F6.95DA47AD@debis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> hi,how to set default filed+field
>
> create table "table1"(
> "cno1" char(10) default NEW.cno2+NEW.cno3,
> "cno2" char(10) ,
> "cno3" char(10)
> );
>
> I try pl/pgsql and pl/tcl NOT RUN,
>
> thanks

Try the following:

CREATE FUNCTION test() RETURNS opaque AS
'BEGIN
IF new.cno1 IS NULL THEN
IF new.cno2 IS NULL THEN
new.cno1 := substr(new.cno3,1,3);
ELSIF new.cno3 IS NULL THEN
new.cno1 := substr(new.cno2,1,3);
ELSE
new.cno1 := substr(new.cno2,1,3)||substr(new.cno3,1,3);
END IF;
END IF;
RETURN new;
END;'
LANGUAGE 'plpgsql';

CREATE TRIGGER test_trg
BEFORE INSERT OR UPDATE ON table1
FOR EACH ROW
EXECUTE PROCEDURE test();

INSERT INTO table1 (cno2, cno3) values ('abc', 'def');

SELECT * FROM table1;

Best regards, Jens Hartwig

=============================================
Jens Hartwig
---------------------------------------------
debis Systemhaus GEI mbH
10875 Berlin
Tel. : +49 (0)30 2554-3282
Fax : +49 (0)30 2554-3187
Mobil : +49 (0)170 167-2648
E-Mail : jhartwig(at)debis(dot)com
=============================================

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jens Hartwig 2001-01-08 08:56:29 Re: create default
Previous Message Marko Kreen 2001-01-07 11:32:27 Re: md5 c code