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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

SET SQLCA 语句 [ESQL]

此语句用于指示 SQL 预处理器使用缺省全局 sqlca 以外的 SQLCA。

语法
SET SQLCA sqlca
sqlca : identifier or string
注释

SET SQLCA 语句指示 SQL 预处理器使用缺省全局 sqlca 以外的 SQLCA。sqlca 必须是作为对 SQLCA 指针的 C 语言引用的标识符或字符串。

当前 SQLCA 指针隐式传递给各嵌入式 SQL 语句中的数据库接口库。C 源文件中位于此语句后的所有嵌入式 SQL 语句将使用新的 SQLCA。

仅当编写重入代码时才需要使用此语句(请参见多线程代码或重入代码的 SQLCA 管理)。sqlca 应该引用局部变量。任何全局变量或模块静态变量都可能会由另一线程修改。

权限

无。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

在 Windows DLL 中可以找到拥有的函数。每个使用 DLL 的应用程序都有自己的 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 );
}