Re: Converting sql anywhere to postgres
От | Adrian Klaver |
---|---|
Тема | Re: Converting sql anywhere to postgres |
Дата | |
Msg-id | 8d88b119-a845-545b-e89c-aac6ba43261a@aklaver.com обсуждение исходный текст |
Ответ на | Converting sql anywhere to postgres (Russell Rose | Passfield Data Systems <russellrose@passfield.co.uk>) |
Список | pgsql-general |
On 8/15/23 08:04, Russell Rose | Passfield Data Systems 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. Not that I know of. In Postgres an UPDATE is essentially a DELETE of the OLD tuple and an INSERT of a new tuple. You cannot determine whether the same value in a given field for the OLD/NEW records was explicitly set the same or just carried over. > > 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’ > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: