Publicado el Dejar un comentario

Campo incremento en Oracle sin crear una Secuencia.

A veces es necesario generar en una consulta un campo que se incremente por si solo, de uno en uno. Para lograr esto Oracle cuenta con la funcion ROWNUM. Nos puede ser muy útil cuando queremos crear paginación de los resultados de una consulta en WEB.

Esta función permite generar una columna que va numerando de uno en uno los resultados de una consulta SQL. Pero hay que tener cuidado al utilizar esta función, ya que a veces su utilización puede hacerse incorrectamente.

Para una explicacion detallada de su uso te recomiendo este link, espero te sea de ayuda.

Ejemplo:

select ROWNUM, campo1, campo2 from tabla;

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 1 comentario

Borrar un esquema en oracle 10g

Para borrar todo un schema de un usuario en Oracle 10g utilice el siguiente comando:

SQL> drop user usuario cascade;

Esta sentencia de sql borrará todos los objetos pertenecientes al usuario dado y el usuario mismo . Asegúrese de que el usuario no tenga conexiones o sesiones abiertas, si no, el comando no se ejecutará y regresará un mensaje informativo.