SQLExecDirect--Ejecutar una sentencia directamente

Finalidad

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