Hostvariable können unter folgenden Umständen benutzt werden:
In SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen sind sie überall dort erlaubt, wo eine Zahlen- oder Zeichenfolgenkonstante erlaubt ist.
In der INTO-Klausel einer SELECT oder FETCH-Anweisung.
Hostvariable können in Embedded SQL-Anweisungen auch anstelle eines Anweisungsnamens, eines Cursornamens oder eines Optionsnamens benutzt werden.
Im Fall von CONNECT-, DISCONNECT- und SET CONNECT-Anweisungen kann eine Hostvariable anstelle eines Servernamens, eines Datenbanknamens, eines Verbindungsnamens, einer Benutzer-ID, eines Kennworts oder einer Verbindungszeichenfolge verwendet werden.
Im Fall von SET OPTION und GET OPTION kann eine Hostvariable benutzt werden anstelle einer Benutzer-ID, eines Optionsnamens oder eines Optionswerts.
Hostvariable können nicht anstelle eines Tabellennamens oder eines Spaltennamens in einer Anweisung benutzt werden.
Der ISO/ANSI-Standard gestattet es einer Embedded SQL-Quelldatei, die folgenden speziellen Hostvariablen innerhalb eines Deklarationsabschnitts zu deklarieren:
long SQLCODE; char SQLSTATE[6]; |
Diese Variablen werden ggf. nach einer Embedded SQL-Anweisung gesetzt, die eine Datenbankanforderung enthält (EXEC SQL-Anweisungen, außer DECLARE SECTION, INCLUDE, WHENEVER SQLCODE usw.).
Die Hostvariablen SQLCODE und SQLSTATE müssen im Bereich aller Embedded SQL-Anweisungen sichtbar sein, die Datenbankanforderungen generieren.
Weitere Hinweise finden Sie in der Beschreibung der Option sqlpp -k unter SQL-Präprozessor.
Folgendes ist gültiges Embedded SQL:
EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; long SQLCODE; EXEC SQL END DECLARE SECTION; sub1() { EXEC SQL BEGIN DECLARE SECTION; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; exec SQL CREATE TABLE ... } |
Folgendes ist nicht gültiges Embedded SQL:
EXEC SQL INCLUDE SQLCA; sub1() { EXEC SQL BEGIN DECLARE SECTION; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; exec SQL CREATE TABLE... } sub2() { exec SQL DROP TABLE... // No SQLSTATE in scope of this statement } |
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 |