From: | Guyren Howe <guyren(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org <pgsql-general(at)lists(dot)postgresql(dot)org>, Russell Rose | Passfield Data Systems <russellrose(at)passfield(dot)co(dot)uk> |
Subject: | Re: Converting sql anywhere to postgres |
Date: | 2023-08-15 21:52:56 |
Message-ID: | c1a8ee64-711b-407a-b119-918a91d0bbfa@Spark |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I’m fairly confident you can do this using a Rule. It would even be fairly simple.
Be careful, though: Rules are Postgres’ biggest potential foot gun.
Guyren G Howe
On Aug 15, 2023 at 08:05 -0700, Russell Rose | Passfield Data Systems <russellrose(at)passfield(dot)co(dot)uk>, wrote:
> Hi there
>
> I am trying to convert a SQL Anywhere database to postgres. Within SQL anywhere a field can have a default value of ‘last user’. This means that when you perform an update on a table, if the field is not explicitly set then the current user is used. So for instance if I have a field called mod_user in a table, but when I do an update on the table and do not set mod_user then SQL Anywhere sets the field to current_uer. I have tried to replicate this using a postgres trigger in the before update. However, if I do not set the value then it automatically picks up the value that was already in the field. Is there a way to tell the difference between me setting the value to the same as the previous value and postgres automatically picking it up.
>
> If the field myfield contains the word ‘me’. Can I tell the difference between:
> Update table1 set field1=’something’,myfield=’me’
> And
> Update table1 set field1=’something’
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2023-08-15 23:03:40 | Re: PostgreSQL and GUI management |
Previous Message | Adrian Klaver | 2023-08-15 21:46:13 | Re: PostgreSQL and GUI management |