Captación de filas o columnas de conjuntos de resultados en Python
Después de ejecutar una sentencia que devuelve uno o más conjuntos de resultados,
utilice una de las funciones disponibles en la API ibm_db para iterar por las filas devueltas.
Si el conjunto de resultados incluye columnas que contienen datos de gran tamaño (por ejemplo, datos BLOB o CLOB), puede recuperar los datos de columna en columna para evitar que se utilice demasiada memoria.
Antes de empezar
Debe disponer de un recurso de sentencia devuelto por la función ibm_db.exec_immediate o ibm_db.execute que tenga uno o varios conjuntos de resultados asociados.
Procedimiento
Para captar datos de un conjunto de resultados:
Ejemplo
Ejemplo 1: Captación de filas de un conjunto de resultados llamando a la función ibm_db.fetch_both
import ibm_db
conn = ibm_db.connect("database","username","password")
sql = "SELECT * FROM EMPLOYEE"
stmt = ibm_db.exec_immediate(conn, sql)
dictionary = ibm_db.fetch_both(stmt)
while dictionary != False:
print "The ID is : ", dictionary["EMPNO"]
print "The Name is : ", dictionary[1]
dictionary = ibm_db.fetch_both(stmt)Ejemplo 2: Captación de filas de un conjunto de resultados llamando a la función ibm_db.fetch_tuple
import ibm_db
conn = ibm_db.connect("database","username","password")
sql = "SELECT * FROM EMPLOYEE"
stmt = ibm_db.exec_immediate(conn, sql)
tuple = ibm_db.fetch_tuple(stmt)
while tuple != False:
print "The ID is : ", tuple[0]
print "The name is : ", tuple[1]
tuple = ibm_db.fetch_tuple(stmt)Ejemplo 3: Captación de filas de un conjunto de resultados llamando a la función ibm_db.fetch_assoc
import ibm_db
conn = ibm_db.connect("database","username","password")
sql = "SELECT * FROM EMPLOYEE"
stmt = ibm_db.exec_immediate(conn, sql)
dictionary = ibm_db.fetch_assoc(stmt)
while dictionary != False:
print "The ID is : ", dictionary["EMPNO"]
print "The name is : ", dictionary["FIRSTNME"]
dictionary = ibm_db.fetch_assoc(stmt)
Ejemplo 4: Captación de columnas de un conjunto de resultados
import ibm_db
conn = ibm_db.connect("database","username","password")
sql = "SELECT * FROM EMPLOYEE"
stmt = ibm_db.exec_immediate(conn, sql)
while ibm_db.fetch_row(stmt) != False:
print "The Employee number is : ", ibm_db.result(stmt, 0)
print "The last name is : ", ibm_db.result(stmt, "LASTNAME")