Publicado el 2 comentarios

ResultSet no se hace editable en Oracle

Si la consulta que construye el ResultSet en java es del tipo:

Select * from tabla;

El ResultSet no será editable aunque se le especifique. Para lograr que sea editable es necesario especificar explícitamente los campos en la consulta y que estos formen una identificación única (primary key):

Select campo1, campo2, … from tabla;.

Ejemplo de ResultSet editable:

    try {
        // Crea la sentencia que creará un ResultSet editable
        Statement stmt = conexion.createStatement(
            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    
        // Se especifican los campos formadores de una identificacion única del registro para que se vuelva editable
        ResultSet resultSet = stmt.executeQuery("SELECT columna1, columna2 FROM tabla");
    } catch (SQLException e) {
      ....
    }
Publicado el 13 comentarios

Obtener año, mes o día en Oracle.

Para obtener el año, mes y día de la fecha actual del servidor de la base de datos Oracle debes ejecutar las siguientes instrucciones sql:

select to_char(sysdate, ‘YYYY’) from dual;
select to_char(sysdate, ‘MM’) from dual;
select to_char(sysdate, ‘DD’) from dual;

Si lo que quieres es obtenerla de un campo de una tabla, reemplaza sysdate por el nombre de la columna de tipo date (fecha) correspondiente y dual por el nombre de la tabla.