on update of table set timestamp

This is a multi-part message in MIME format.

------_=_NextPart_001_01CB1218.47F8301A
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

PostgreSQL 8.4

I want to add a timestamp column to some of my important table such that
whenever an SQL "update" command is executed on the table the
"updated_timestamp" timestamp column would be set with "now()". Is
there a way to do this? I know I could go through and change my SQL all
over the place to update a column "updated_timestamp" with "now()" but
it would be faster if there was some way to set a constraint and/or
default value on the field. Is this possible. I don't really want to
do store procedures.



Thanks,



Lance Campbell

Software Architect/DBA/Project Manager

Web Services at Public Affairs

217-333-0382




------_=_NextPart_001_01CB1218.47F8301A
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
[at] font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
[at] font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
..MsoChpDefault
{mso-style-type:export-only;}
[at] page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DWordSection1>

<p class=3DMsoNormal>PostgreSQL 8.4<o:p></o:p></p>

<p class=3DMsoNormal>I want to add a timestamp column to some of my =
important table
such that whenever an SQL “update” command is executed on =
the table
the “updated_timestamp” timestamp column would be set with =
“now()”. 
Is there a way to do this?  I know I could go through and change my =
SQL
all over the place to update a column “updated_timestamp” =
with “now()”
but it would be faster if there was some way to set a constraint and/or =
default
value on the field.  Is this possible.  I don’t really =
want to
do store procedures. <o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Thanks,<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Lance Campbell<o:p></o:p></p>

<p class=3DMsoNormal>Software Architect/DBA/Project =
Manager<o:p></o:p></p>

<p class=3DMsoNormal>Web Services at Public Affairs<o:p></o:p></p>

<p class=3DMsoNormal>217-333-0382<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

</div>

</body>

</html>

------_=_NextPart_001_01CB1218.47F8301A--
Lance [ Di, 22 Juni 2010 16:33 ] [ ID #2043491 ]

Re: on update of table set timestamp

"Campbell, Lance" <lance [at] illinois.edu> wrote:

> I want to add a timestamp column to some of my important table
> such that whenever an SQL "update" command is executed on the
> table the "updated_timestamp" timestamp column would be set with
> "now()".

I would write one function which I would bind as a BEFORE UPDATE
trigger to all the tables with the updated_timestamp column. You
don't need to write a separate function for each table.

-Kevin

--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Kevin Grittner [ Di, 22 Juni 2010 16:55 ] [ ID #2043492 ]
Datenbanken » gmane.comp.db.postgresql.admin » on update of table set timestamp

Vorheriges Thema: Postgresql 9.0b2 : pg_upgrade not passing username to pgdumpall ?
Nächstes Thema: Postgre Server stopped during continuous run.