Re: duplicates

Поиск
Список
Период
Сортировка
От Jean-Luc Lachance
Тема Re: duplicates
Дата
Msg-id 413C75E5.7090406@sympatico.ca
обсуждение исходный текст
Ответ на Re: duplicates  ("Michael Paesold" <mpaesold@gmx.at>)
Список pgsql-admin
If the reccord you are inserting do not depend on data in the record you
want to delete, why not simply use a trigger?

Before insert delete the record with the same key!



Michael Paesold wrote:

> Tsirkin Evgeny wrote:
>
>
>
>>one moer question ,how did you tested it?
>>
>>
>>>I have tested this here. I don't really know if this is just the case
>
> with
>
>>>Best Regards,
>>>Michael Paesold
>
>
> First I created the your schedule table. Then I opened two psql sessions...
>
> Session A                Session B
>
> BEGIN;
> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
> DELETE FROM schedule WHERE studentid = 1;
> INSERT INTO schedule VALUES (1, 1, 0, 0);
>
>                          BEGIN;
>                          SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
>                          DELETE FROM schedule WHERE studentid = 1;
>                          -- if there existed records for this delete,
>                          -- session B will now wait for session A to
>                          -- commit/rollback and error out on commit;
>                          -- otherwise no error
>
>
> COMMIT;
>                          INSERT INTO schedule VALUES (1, 1, 0, 0);
>                          COMMIT;
>
>
> You can also try and rollback the first transaction etc.
>
> Again, what really helps is:
> ALTER TABLE schedule ADD CONSTRAINT uniq_schedule UNIQUE (studentid,
> groupid);
>
> Best Regards,
> Michael Paesold
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

В списке pgsql-admin по дате отправления:

Предыдущее
От: "Andrei Bintintan"
Дата:
Сообщение: How to rename a constraint/trigger??
Следующее
От: Tsirkin Evgeny
Дата:
Сообщение: SELECT waiting