Обсуждение: Question on Rules
I am creating a rule which will copy a record when it is changed to a
audittable. My question is that the first column is a UUID data type
with a defined as auditaccessorid uuid DEFAULT
isscontrib.uuid_generate_v4() NOT NULL,
Right now I've got that set to NULL to allow the parser to "compile".
What value should I have in here since I want a newly created UUID?
CREATE RULE log_accessor AS ON UPDATE TO iss.accessor
WHERE NEW.* <> OLD.*
DO INSERT INTO iss.auditaccessor VALUES (NULL,
'C',
new.loaddtlid,
new.seqno,
new.billable,
new.payind,
new.code,
new.description,
new.ref,
new.tractororcarrierflag,
new.tractororcarrierno,
new.tractorpct,
new.charge,
new.type,
new.checkdate,
new.checkno,
new.processed,
new.itemflag,
new.tractortermloc,
new.cost,
new.batchno,
new.editdatetime,
new.edituser);
Best Regards,
Michael Gould
Intermodal Software Solutions, LLC
904-226-0978
-----Original Message-----
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of
mgould@isstrucksoftware.net
Sent: Saturday, February 18, 2012 5:17 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] Question on Rules
I am creating a rule which will copy a record when it is changed to a audittable. My question is that the first column
isa UUID data type with a defined as auditaccessorid uuid DEFAULT
isscontrib.uuid_generate_v4() NOT NULL,
Right now I've got that set to NULL to allow the parser to "compile".
What value should I have in here since I want a newly created UUID?
CREATE RULE log_accessor AS ON UPDATE TO iss.accessor
WHERE NEW.* <> OLD.*
DO INSERT INTO iss.auditaccessor VALUES (NULL,
'C',
new.loaddtlid,
new.seqno,
new.billable,
new.payind,
new.code,
new.description,
new.ref,
new.tractororcarrierflag,
new.tractororcarrierno,
new.tractorpct,
new.charge,
new.type,
new.checkdate,
new.checkno,
new.processed,
new.itemflag,
new.tractortermloc,
new.cost,
new.batchno,
new.editdatetime,
new.edituser);
Best Regards,
Michael Gould
Intermodal Software Solutions, LLC
904-226-0978
--------------------------------------------------------------------
INSERT INTO table (serial_col1) VALUES (DEFAULT);
Also, I presume you have a good reason for using a RULE instead of a TRIGGER? If not you should default to a TRIGGER
forthis kind of behavior.
David J.
David,
Are rules deprecated?
Michael Gould
Intermodal Software Solutions, LLC
904-226-0978
-------- Original Message --------
Subject: Re: [GENERAL] Question on Rules
From: "David Johnston" <polobo@yahoo.com>
Date: Sun, February 19, 2012 9:16 pm
To: <mgould@isstrucksoftware.net>, <pgsql-general@postgresql.org>
-----Original Message-----
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of mgould@isstrucksoftware.net
Sent: Saturday, February 18, 2012 5:17 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] Question on Rules
I am creating a rule which will copy a record when it is changed to a audittable. My question is that the first column is a UUID data type with a defined as auditaccessorid uuid DEFAULT
isscontrib.uuid_generate_v4() NOT NULL,
Right now I've got that set to NULL to allow the parser to "compile".
What value should I have in here since I want a newly created UUID?
CREATE RULE log_accessor AS ON UPDATE TO iss.accessor
WHERE NEW.* <> OLD.*
DO INSERT INTO iss.auditaccessor VALUES (NULL,
'C',
new.loaddtlid,
new.seqno,
new.billable,
new.payind,
new.code,
new.description,
new.ref,
new.tractororcarrierflag,
new.tractororcarrierno,
new.tractorpct,
new.charge,
new.type,
new.checkdate,
new.checkno,
new.processed,
new.itemflag,
new.tractortermloc,
new.cost,
new.batchno,
new.editdatetime,
new.edituser);
Best Regards,
Michael Gould
Intermodal Software Solutions, LLC
904-226-0978
--------------------------------------------------------------------
INSERT INTO table (serial_col1) VALUES (DEFAULT);
Also, I presume you have a good reason for using a RULE instead of a TRIGGER? If not you should default to a TRIGGER for this kind of behavior.
David J.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On 02/20/12 9:07 AM, mgould@isstrucksoftware.net wrote: > Are rules deprecated? rules are very tricky, and primarily exist now for internal use. -- john r pierce N 37, W 122 santa cruz ca mid-left coast
Thanks I will change to a trigger Best Regards Mike Gould Sent from Samsung mobile David Johnston <polobo@yahoo.com> wrote: >-----Original Message----- >From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of mgould@isstrucksoftware.net >Sent: Saturday, February 18, 2012 5:17 AM >To: pgsql-general@postgresql.org >Subject: [GENERAL] Question on Rules > >I am creating a rule which will copy a record when it is changed to a audittable. My question is that the first columnis a UUID data type with a defined as auditaccessorid uuid DEFAULT >isscontrib.uuid_generate_v4() NOT NULL, > >Right now I've got that set to NULL to allow the parser to "compile". >What value should I have in here since I want a newly created UUID? > >CREATE RULE log_accessor AS ON UPDATE TO iss.accessor > WHERE NEW.* <> OLD.* > DO INSERT INTO iss.auditaccessor VALUES (NULL, > 'C', > new.loaddtlid, > new.seqno, > new.billable, > new.payind, > new.code, > new.description, > new.ref, > new.tractororcarrierflag, > new.tractororcarrierno, > new.tractorpct, > new.charge, > new.type, > new.checkdate, > new.checkno, > new.processed, > new.itemflag, > new.tractortermloc, > new.cost, > new.batchno, > new.editdatetime, > new.edituser); > >Best Regards, > >Michael Gould >Intermodal Software Solutions, LLC >904-226-0978 > > >-------------------------------------------------------------------- > >INSERT INTO table (serial_col1) VALUES (DEFAULT); > >Also, I presume you have a good reason for using a RULE instead of a TRIGGER? If not you should default to a TRIGGER forthis kind of behavior. > >David J. > > >