## SQL-Anweisung mehrfach mit verschiedenen Werten ausführen

In diesem Beispiel verwenden Sie die Methoden sql und prepare des Moduls sdb.sql. Sie führen eine SQL-Anweisung mehrfach mit verschiedenen Werten aus, ohne dass das Datenbanksystem Python-Werte konvertieren muss.

### 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)

#

# Testtabelle customer anlegen

# (um sicherzustellen, dass diese Tabelle noch nicht vorhanden ist,

# wird zunächst die SQL-Anweisung zum Löschen der Tabelle

# ausgeführt)

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

try:

session.sql ('DROP TABLE hotel.customer')

except sdb.sql.SQLError:

pass

session.sql ("""CREATE TABLE customer (cno FIXED(4) PRIMARY KEY)""")

#

# Objekt der Klasse SapDB_Prepared erzeugen

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

insert = session.prepare ('INSERT INTO customer (cno) VALUES (?)')

for i in xrange (1,11):

# die Methode execute führt die vorbereitete

# SQL-Anweisung mit allen Parametern der Liste aus

insert.execute ([i])

cursor = session.sql ('SELECT cno FROM customer')

for row in cursor: print row

#

# Verbindung zur Datenbankinstanz beenden

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

session.release ()

2. Rufen Sie das Python-Skript auf:

python sample.py MONA RED DEMODB

### Ergebnis

(1,)

(2,)

(3,)

(4,)

(5,)

(6,)

(7,)

(8,)

(9,)

(10,)