La clase de DB2eStatement obtiene y establece determinados atributos de Statement. Para utilizar los métodos de clase de DB2eStatement sobre un objeto Statement, antes se tiene que convertir el objeto Statement en un objeto DB2eStatement. Estos métodos se implementan mediante llamadas a las funciones CLI/ODBC de SQLGetStmtAttr y SQLSetStmtAttr con los argumentos apropiados.
com.ibm.db2e.jdbc package
DB2eStatement de clase pública
implanta Statement
La Tabla 108 lista los métodos de la clase DB2eStatement a los que da
soporte DB2 Everyplace.
Tabla 108. Métodos de la clase DB2eStatement
Tipo de retorno del método | Método |
---|---|
void | enableDeletePhysicalRemove(boolean enable) Habilita o inhabilita la eliminación física de registros, independientemente de los valores de sus bits de modificación, en una sentencia DELETE SQL. |
void | enableDirtyBitSetByApplication(boolean enable) Habilita la modalidad de aplicación si se cumple la habilitación (enable es true). De lo contrario, habilita la modalidad de sistema. |
void | enableReadIncludeMarkedDelete (boolean enable) Hace que los registros suprimidos lógicamente resulten visibles o invisibles. |
void | enableReorg (boolean enable) Habilita o inhabilita la reorganización de bases de datos, por parte de DB2 Everyplace o explícitamente por parte del usuario mediante una sentencia REORG SQL. |
boolean | isEnabledDeletePhysicalRemove() ¿Una sentencia de SQL eliminará físicamente los registros, independientemente de los valores de sus bits de modificación? ¿O bien los registros sólo se marcarán como "suprimir" (delete)? |
boolean | isEnabledDirtyBitSetByApplication() ¿El sistema de base de datos está en modalidad de aplicación? ¿O está en modalidad de sistema? |
boolean | isEnabledReadIncludeMarkedDelete() ¿Los registros suprimidos lógicamente resultan visibles desde sentencias de SQL? ¿O están ocultos para SQL? |
boolean | isEnabledReorg() ¿Puede realizar DB2 Everyplace una reorganización de la base de datos o la debe efectuar explícitamente el usuario mediante una sentencia REORG SQL? ¿O las sentencias REORG SQL están restringidas y está inhabilitada la reorganización automática de tablas de bases de datos creadas por el usuario? |
En estos ejemplos, st representa un objeto Statement y rs representa un objeto ResultSet.
Para eliminar físicamente algunos registros de la tabla T ignorando el estado de los bits de modificación:
DB2eStatement db2e_st = (DB2eStatement) st; db2e_st.enableDeletePhysicalRemove(true); st.executeUpdate("DELETE FROM T WHERE X<>0");
Para leer todos los registros de la tabla T que tengan establecido el bit de modificación, incluyendo aquéllos que lo tienen marcado como DELETE:
DB2eStatement db2e_st = (DB2eStatement) st; db2e_st.enableReadIncludeMarkedDelete(true); rs = st.executeQuery("SELECT * FROM T WHERE $dirty<>0");
Para limpiar el bit de modificación de un registro de la tabla T:
DB2eStatement db2e_st = (DB2eStatement) st; db2e_st.enableDirtyBitSetByApplication(true); st.executeUpdate("UPDATE T SET $dirty=0 WHERE $dirty>0");
Tareas relacionadas
Consulta relacionada