Fixed the case statement

SELECT id
                          FROM education_program
                          WHERE name = CASE %s
                            WHEN 'SENIOR HIGH SCHOOL GAS'
                            THEN 'General Academic Strand'
                            WHEN 'SENIOR HIGH SCHOOL HUMSS'
                            THEN 'Humanities and Social Sciences'
                            WHEN 'SENIOR HIGH SCHOOL STEM'
                            THEN 'Science, Technology, Engineering and
Mathematics'
                            ELSE %s
                          END
                          AND department_id
                          IN (SELECT id
                              FROM profile_department
                              WHERE school_id=1)
                          """, [course, course])

On Tue, May 15, 2018 at 1:11 PM, tango ward <tangowar...@gmail.com> wrote:

> I thing its this:
>
> "
>
> Note
>
> cursor <http://initd.org/psycopg/docs/cursor.html#cursor> objects are
> iterable, so, instead of calling explicitly fetchone()
> <http://initd.org/psycopg/docs/cursor.html#cursor.fetchone> in a loop,
> the object itself can be used:
>
> >>> cur.execute("SELECT * FROM test;")>>> for record in cur:...     print 
> >>> record...(1, 100, "abc'def")(2, None, 'dada')(3, 42, 'bar')
>
> Changed in version 2.4: iterating over a named cursor
> <http://initd.org/psycopg/docs/usage.html#server-side-cursors> fetches
> itersize <http://initd.org/psycopg/docs/cursor.html#cursor.itersize>
> records at time from the backend. Previously only one record was fetched
> per roundtrip, resulting in a large overhead.
> "
>
> On Tue, May 15, 2018 at 1:04 PM, Ian Zimmerman <i...@very.loosely.org>
> wrote:
>
>> On 2018-05-14 21:12, Adrian Klaver wrote:
>>
>> > Because you are doing fetchall(). That is going to fetch a list of row
>> > tuples.  Either iterate over that list or iterate over the cursor:
>> >
>> > for row in cur_p:
>> >       print(row)
>> >
>> > For more info see:
>> > http://initd.org/psycopg/docs/cursor.html
>>
>> Where does that webpage say that I can use the cursor itself for
>> iteration?  I can't find it there.  (OTOH it is clearly documented for
>> the sqlite3 library).
>>
>> Until now, with psycopg2 I have done it like this:
>>
>> cur.execute(stmt)
>> results = iter(cur.fetchone, None)
>> for r in results:
>>     ...
>>
>> --
>> Please don't Cc: me privately on mailing lists and Usenet,
>> if you also post the followup to the list or newsgroup.
>> To reply privately _only_ on Usenet and on broken lists
>> which rewrite From, fetch the TXT record for no-use.mooo.com.
>>
>>
>

Reply via email to