Re: reduce number of multiple values to be inserted

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: reduce number of multiple values to be inserted
Дата
Msg-id 364282d1-ee65-544e-cd12-aae964db3f4e@aklaver.com
обсуждение исходный текст
Ответ на reduce number of multiple values to be inserted  (tango ward <tangoward15@gmail.com>)
Ответы Re: reduce number of multiple values to be inserted  (Rob Sargent <robjsargent@gmail.com>)
Список 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.klaver@aklaver.com


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

Предыдущее
От: Rob Sargent
Дата:
Сообщение: Re: reduce number of multiple values to be inserted
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: reduce number of multiple values to be inserted