SET SQLCA statement [ESQL]

Description

Tells the SQL preprocessor to use a SQLCA other than the default global sqlca.

Syntax

SET SQLCA sqlca

Parameters

sqlca:

identifier or string

Examples

Example 1

Shows the following function that can be found in a Windows DLL. Each application that uses the DLL has its own 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 );
}

Usage

The SET SQLCA statement tells the SQL preprocessor to use a SQLCA other than the default global sqlca. The sqlca must be an identifier or string that is a C language reference to a SQLCA pointer.

The current SQLCA pointer is implicitly passed to the database interface library on every Embedded SQL statement. All Embedded SQL statements that follow this statement in the C source file use the new SQLCA. This statement is necessary only when you are writing code that is reentrant. The sqlca should reference a local variable. Any global or module static variable is subject to being modified by another thread.


Side effects

None.

Standards

Permissions

None.

See also

“The SQL Communication Area (SQLCA)” in SQL Anywhere Server – Programming > SQL Anywhere Data Access APIs > SQL Anywhere embedded SQL