Re: reduce number of multiple values to be inserted

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: tango ward <tangoward15(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: reduce number of multiple values to be inserted
Date: 2018-05-30 00:36:47
Message-ID: 364282d1-ee65-544e-cd12-aae964db3f4e@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 05/29/2018 05:10 PM, tango ward wrote:
>
> Hi,
>
> I am working on inserting multiple values for a table. I need to insert
> 3 values of data for each age of the students from the same village. It
> will be 3 different ages of student per village.
>
> My sample code:
>
>
> curr_pgsql.execute('''
>                    INSERT INTO student (created, modified, name,
>                                                     address, age, level
>                                                     )
>                    VALUES (current_timezone, current_timezone,
>                            'Scott', 'Malayan Village', 21, 2),
>                           (current_timezone, current_timezone,
>                            'Ben', 'Malayan Village', 21, 2),
>                           (current_timezone, current_timezone,
>                            'Scott', 'Malayan Village', 21, 2),
>
>                           (current_timezone, current_timezone,
>                            'Andrew', 'Malayan Village', 25, 2),
>                           (current_timezone, current_timezone,
>                            'Larry', 'Malayan Village', 25, 2),
>                           (current_timezone, current_timezone,
>                            'Adam', 'Malayan Village', 25, 2),
>
>                           (current_timezone, current_timezone,
>                            'Elisse', 'Malayan Village', 27, 2),
>                           (current_timezone, current_timezone,
>                            'Xena', 'Malayan Village', 27, 2),
>                           (current_timezone, current_timezone,
>                            'Karen', 'Malayan Village', 27, 2)
>
> I will repeat the same process for 13 villages so that will be 117 of
> values. I would like to know if there's a way to reduce the script? This
> has to be done strictly via script.

Not sure where you are pulling the data from and how it is ordered, but
an outline:

data_input (Assuming sorted by village and then age)

for village in data_input:
for age in village:
curr_pgsql.execute('''
INSERT INTO student (created, modified, name,
address, age, level)
VALUES(current_timezone, current_timezone,
%s, %s, %s, 2)''', (name, village, age))

>
>
> Thanks,
> J
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Sargent 2018-05-30 00:40:23 Re: reduce number of multiple values to be inserted
Previous Message Rob Sargent 2018-05-30 00:36:16 Re: reduce number of multiple values to be inserted