Re: one or 2 transactions? - Mailing list pgsql-novice

From Jean-Yves F. Barbier
Subject Re: one or 2 transactions?
Date
Msg-id 4B215334.1060005@gmail.com
Whole thread Raw
In response to Re: one or 2 transactions?  (Andreas Kretschmer <akretschmer@spamfence.net>)
Responses Re: one or 2 transactions?  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
List pgsql-novice
Andreas Kretschmer a écrit :
> Jean-Yves F. Barbier <12ukwn@gmail.com> wrote:
>
>> Hi list,
>>
>> I've got tables: account & client, creating a client must automatically
>> create the corresponding account that'll be a foreign key into client.
>>
>> AFAI read, I must DEFERRABLE INITIALLY DEFERRED the foreign key constraint
>> into client.
>>
>> But can I do all this into only one transaction (writing account's row
>> before client's), or am I obliged to have 2 distinct transactions?
>
> One single transaction, first create the account and then the client, as
> you said. For instance (i don't know your tables):
>
> test=# create table account (id serial primary key, name text);
> NOTICE:  CREATE TABLE will create implicit sequence "account_id_seq" for serial column "account.id"
> NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "account_pkey" for table "account"
> CREATE TABLE
> Zeit: 289,478 ms
> test=*# create table client (id int references account, name text);
> CREATE TABLE
> Zeit: 41,802 ms
> test=*# insert into account values (default, 'account1');
> INSERT 0 1
> Zeit: 1,014 ms
> test=*# insert into client values (currval('account_id_seq'), 'client1');
> INSERT 0 1
> Zeit: 10,208 ms
> test=*# commit;
> COMMIT
> Zeit: 0,447 ms
>
> That's all a single transaction, including the DDL-statements (create table).

You mean I don't even need DEFERRABLE INITIALLY DEFERRED?

If so, could you explain the purpose of these orders, PLS?

JY
--
Sensible and responsible women do not want to vote.
        -- Grover Cleveland, 1905

pgsql-novice by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: one or 2 transactions?
Next
From: Mladen Gogala
Date:
Subject: How to describe functions.