Legen Sie die Hostvariable fest, indem Sie sie in einen Deklarationsabschnitt stellen. Für die Deklaration der Hostvariable umschließen Sie die normalen Deklarationen der C-Variable mit den Anweisungen BEGIN DECLARE SECTION und END DECLARE SECTION.
Wenn Sie eine Hostvariable in einer SQL-Anweisung verwenden, müssen Sie dem Variablennamen einen Doppelpunkt (:) als Präfix voranstellen, sodass der Präprozessor erkennt, dass Sie sich auf eine (deklarierte) Hostvariable beziehen und ihn von anderen in der Anweisung zulässigen Bezeichnern unterscheiden kann.
Sie können Hostvariable anstelle von Konstanten in einer SQL-Anweisung einsetzen. Wenn der Datenbankserver den Befehl ausführt, wird der Wert der Hostvariable aus den einzelnen Hostvariablen gelesen bzw. in sie geschrieben. Hostvariable können nicht anstelle von Tabellen- oder Spaltennamen benutzt werden.
Der SQL-Präprozessor durchsucht nur den C-Programmcode, der innerhalb des Deklarationsabschnitts steht. Initialisierer für Variable sind in einem Deklarationsabschnitt zulässig, während typedef-Typen und -Strukturen nicht erlaubt sind.
Das folgende Beispiel zeigt den Gebrauch von Hostvariablen für einen INSERT-Befehl. Variable werden vom Programm belegt und dann in die Datenbank eingefügt:
/* Declare fields for personal data. */ EXEC SQL BEGIN DECLARE SECTION; long employee_number = 0; char employee_name[50]; char employee_initials[8]; char employee_phone[15]; EXEC SQL END DECLARE SECTION; /* Fill variables with appropriate values. */ /* Insert a row in the database. */ EXEC SQL INSERT INTO Employee VALUES (:employee_number, :employee_name, :employee_initials, :employee_phone ); |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |