## Methode getDescription

### Verwendung

getDescription ist eine Methode der Klasse SapDB_Prepared.

Mit dieser Methode zeigen Sie Informationen zu den Parametern einer SQL-Anweisung an.

### Funktionsumfang

getDescription ()

Ergebnis:

● leerer String als Platzhalter für den Namen des Parameters

● Typ des Parameters (als String)

● Typ des Parameters (als ganze Zahl)

Die Bedeutung dieser Zahlen entspricht ihrer Bedeutung in der ODBC-Spezifikation.

● logische Größe des Parameters (maximale Anzahl der Zeichen bei einem String-Parameter, maximale Anzahl der Ziffern bei einem numerischen Parameter)

● Anzahl der Nachkommastellen

● Angabe, ob der Parameter NULL enthalten kann

● Typ des Parameters: 'IN' |'OUT' | 'IN/OUT'

### Beispiel

Sie erzeugen die Datenbankprozedur avg_price:

session.sql ("""CREATE DBPROCEDURE avg_price (IN zip CHAR(5), OUT avg_price FIXED(6,2)) AS

VAR sum FIXED(10,2); price FIXED(6,2); hotels INTEGER;

TRY

SET sum = 0; SET hotels = 0;

DECLARE dbproccursor CURSOR FOR

SELECT price FROM hotel.room,hotel.hotel WHERE zip = :zip AND

room.hno = hotel.hno AND type = 'single';

WHILE $rc = 0 DO BEGIN

FETCH dbproccursor INTO :price;

SET sum = sum + price;

SET hotels = hotels + 1;

END;

CATCH

IF $rc <> 100 THEN STOP ($rc, 'unexpected error');

CLOSE dbproccursor;

IF hotels > 0 THEN SET avg_price = sum / hotels

ELSE STOP (100, 'no hotel found');""")

Sie erzeugen mit der Methode prepare ein Objekt der Klasse SapDB_Prepared:

call = session.prepare ('call avg_price (?, ?)')

Sie zeigen die Informationen zu den Parametern in formatierter Form an:

print "colname type code length frac null? in/out"
print "===================================================="
for parameterDescription in call.getDescription ():
print "%-10s %-10s %4d %6d %2d %5s %s" % parameterDescription

colname type code length frac null? in/out

====================================================

Unicode 1 5 0 1 IN

Fixed 3 6 2 1 OUT