Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (P-Z)

 

SET SQLCA-Anweisung [ESQL]

Mit dieser Anweisung weisen Sie den SQL-Präprozessor an, einen anderen SQLCA als den standardmäßigen globalen sqlca zu verwenden.

Syntax
SET SQLCA sqlca:
sqlca : Bezeichner oder Zeichenfolge
Bemerkungen

Die SET SQLCA-Anweisung weist den SQL-Präprozessor an, einen anderen SQLCA zu verwenden als den standardmäßigen globalen sqlca. Der sqlca muss ein Bezeichner oder eine Zeichenfolge sein, der bzw. die eine C-Sprachenreferenz zu einem SQLCA-Zeiger ist.

Der aktuelle SQLCA-Zeiger wird bei jeder Embedded SQL-Anweisung implizit an die Interface-Bibliothek der Datenbank übergeben. Alle Embedded SQL-Anweisungen, die in der C-Quelldatei auf diese Anweisung folgen, verwenden den neuen SQLCA.

Diese Anweisung ist nur notwendig, wenn Sie einen Code schreiben, der ablaufinvariant ist (siehe SQLCA-Verwaltung für Code mit mehreren Threads oder "reentrant"-Code). Der sqlca sollte eine lokale Variable referenzieren. Jede globale oder statische Variable in einem Modul kann von einem anderen Thread geändert werden.

Berechtigungen

Keine.

Nebenwirkungen

Keine.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Die Eigentümerfunktion könnte in einer Windows DLL enthalten sein. Jede Anwendung, die diese DLL verwendet, hat ihren eigenen SQLCA.

an_sql_code FAR PASCAL ExecuteSQL( an_application *app, char *com )
{
   EXEC SQL BEGIN DECLARE SECTION;
   char *sqlcommand;
   EXEC SQL END DECLARE SECTION;
   EXEC SQL SET SQLCA "&app->.sqlca";
   sqlcommand = com;
   EXEC SQL WHENEVER SQLERROR CONTINUE;
   EXEC SQL EXECUTE IMMEDIATE :sqlcommand;
return( SQLCODE );
}