Especificación: | CLI de DB2 1.1 | ODBC 1.0 | ISO CLI |
SQLExecDirect() ejecuta directamente la sentencia de SQL especificada. La sentencia se puede ejecutar una sola vez.
Sintaxis
SQLRETURN SQLExecDirect (SQLHSTMT StatementHandle, /* hstmt */ SQLCHAR *FAR StatementText, /* szSqlStr */ SQLINTEGER TextLength); /* cbSqlStr */
Argumentos de la función
Tabla 44. Argumentos de SQLExecDirect
Tipo de datos | Argumento | Uso | Descripción |
---|---|---|---|
SQLHSTMT | StatementHandle | entrada | Descriptor de contexto de sentencia. |
SQLCHAR * | StatementText | entrada | Serie de la sentencia de SQL. |
SQLINTEGER | TextLength | entrada | Longitud del contenido del argumento StatementText. La longitud debe establecerse en un valor igual a la longitud exacta de la sentencia o, si la sentencia termina con nulo, debe establecerse en SQL_NTS. |
Uso
La serie de la sentencia de SQL no puede contener marcadores de parámetros.
Códigos de retorno
Se devuelve SQL_NO_DATA_FOUND si la sentencia de SQL es un UPDATE de búsqueda o un DELETE de búsqueda y no hay ninguna fila que cumpla la condición de búsqueda.
Diagnósticos
Tabla 45. SQLSTATE de SQLExecDirect
SQLSTATE | Descripción | Explicación |
---|---|---|
22003 | Valor numérico fuera de rango. | Un valor numérico asignado a una columna de tipo numérico provocó el truncamiento de la parte entera del número, durante el proceso de asignación o al calcular un resultado intermedio. |
42xxx | Error de sintaxis o violación de la regla de acceso. | Los SQLSTATE 42xxx indican la existencia de diversos problemas de sintaxis o de acceso en la sentencia. xxx representa cualquier SQLSTATE con ese código de clase. Ejemplo: 42xxx representa cualquier SQLSTATE perteneciente a la clase 42. |
58004 | Error inesperado del sistema. | Error no recuperable del sistema. |
HY001 | Error de asignación de memoria. | CLI de DB2 no puede asignar la memoria necesaria para ejecutar o finalizar la función. |
HY009 | Valor no válido de argumento. | StatementText es un puntero nulo. |
HY013 | Error inesperado de gestión de la memoria. | CLI de DB2 no puede acceder a la memoria necesaria para ejecutar o finalizar la función. |
HY014 | No hay más descriptores de contexto. | CLI de DB2 no puede asignar un descriptor de contexto debido a recursos internos. |
HY090 | Longitud no válida de la serie de caracteres o del almacenamiento intermedio. | El argumento TextLength es menor que 1 pero no igual a SQL_NTS. |
Restricciones
Ninguna.
Consulta relacionada