Anfang des Inhaltsbereichs

Funktionsdokumentation Methode getDescription Dokument im Navigationsbaum lokalisieren

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)

Hinweis

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        

Ende des Inhaltsbereichs