Search Postgresql Archives

Re: reduce number of multiple values to be inserted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux