## SQL-Anweisung ausführen und Ergebnismenge mit einer for-Schleife auslesen

In diesem Beispiel verwenden Sie die Methode sql. Sie führen eine SELECT-Anweisung aus, die als Ergebnis ein Objekt der Klasse SapDB_ResultSet liefert (Ergebnismenge), und lesen die Datensätze dieser Ergebnismenge in einer for-Schleife aus.

### Vorgehensweise

...

1. Erstellen Sie ein Python-Skript sample.py mit folgendem Inhalt:

#

# Python-Module importieren

# -------------------------------------------

import sys

import sdb.sql

#

# Verbindung zur Datenbankinstanz herstellen

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sdb.sql.connect (database_user, database_user_password, database_name)

select = """

SELECT * FROM hotel.room"""

#

# SELECT-Anweisung ausführen

# Ergebnis: Objekt der Klasse SAPDB_ResultSet

# -----------------------------------------------

cursor = session.sql (select)

#

# Ein Objekt der Klasse SapDB_ResultSet kann in einer for-Schleife

# wie jeder andere Iterator verwendet werden.

# -----------------------------------------------

for row in cursor:

hno, type, free, price = row

print "%6d %s %d %6d" % (hno, type, free, price)

#

# Mit einer for-Anweisung können Sie sowohl

# eine SQL-Anweisung ausführen als auch die Ergebniszeilen

# in Spalten gliedern.

# -------------------------------------------------

for hno, type, free, price in session.sql (select):

print "%6d %s %d %6d" % (hno, type, free, price)

#

# Verbindung zur Datenbankinstanz beenden

# --------------------------------------------

session.release ()

2. Rufen Sie das Python-Skript auf:

python sample.py MONA RED DEMODB

### Ergebnis

10 double 45 200

10 single 20 135

20 double 13 100

20 single 10 70

30 double 15 80

30 single 12 45

[...]

Siehe auch:

Beispiele für das Modul sdb.sql