Legen Sie die Hostvariablen fest, indem Sie sie in einen Deklarationsabschnitt stellen. Für die Deklaration der Hostvariablen umschließen Sie die normalen Deklarationen der C-Variablen 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 Hostvariablen anstelle von Konstanten in einer SQL-Anweisung einsetzen. Wenn der Datenbankserver den Befehl ausführt, wird der Wert der Hostvariablen aus den einzelnen Hostvariablen gelesen bzw. in sie geschrieben. Hostvariablen 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 Variablen 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. Variablen 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.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |