规范: | DB2 CLI 1.1 | ODBC 1.0 | ISO CLI |
SQLExecDirect() 直接执行指定的 SQL 语句。该语句只能执行一次。
语法
SQLRETURN SQLExecDirect (SQLHSTMT StatementHandle, /* hstmt */ SQLCHAR *FAR StatementText, /* szSqlStr */ SQLINTEGER TextLength); /* cbSqlStr */
函数自变量
数据类型 | 自变量 | 使用 | 描述 |
---|---|---|---|
SQLHSTMT | StatementHandle | 输入 | 语句句柄。 |
SQLCHAR * | StatementText | 输入 | SQL 语句字符串。 |
SQLINTEGER | TextLength | 输入 | StatementText 自变量的内容的长度。此长度必须设置为语句的精确长度,或者,如果语句以 null 结束,则设置为 SQL_NTS。 |
用法
SQL 语句字符串不能包含参数标记。
返回码
如果 SQL 语句是“搜索型 UPDATE”或“搜索型 DELETE”,且没有任何行满足搜索条件,则返回 SQL_NO_DATA_FOUND。
诊断
SQLSTATE | 描述 | 解释 |
---|---|---|
22003 | 数值超出范围。 | 对数字类型列指定的数值导致在赋值期间或计算中间结果期间截断该数字的整个部分。 |
42xxx | 语法错误或访问规则违例。 | 42xxx SQLSTATE 指示与语句相关的各种语法或访问问题。xxx 指的是任何具有该类代码的 SQLSTATE。示例:42xxx 指的是 42 类中的任何 SQLSTATE。 |
58004 | 意外系统故障。 | 不可恢复的系统错误。 |
HY001 | 内存分配失败。 | DB2 CLI 无法分配支持函数的执行或完成所需的内存。 |
HY009 | 自变量值无效。 | StatementText 是空指针。 |
HY013 | 发生意外的内存处理错误。 | DB2 CLI 无法访问支持函数的执行或完成所需的内存。 |
HY014 | 不再有句柄。 | 因为内部资源问题,DB2 CLI 无法分配句柄。 |
HY090 | 字符串或缓冲区长度无效。 | TextLength 自变量小于 1 但不等于 SQL_NTS。 |
限制
无。
相关参考