Piedra roseta de querys.

Como realizar la paginación de una base de datos a otra:

Paginación

Mysql uso de limit offset (Recupera (limit) número de registros a partir de la posición (offset) ) y ejemplo
 

Oracle mediante el uso de rownum en un query anidado
 

Informix mediante el uso de Skip y limit
 

SQL Server
Con TOP y ROW_NUMBER() a partir de la versión 2005, para versiones anteriores como una propiedad del driver mediante obdc
 

PostgreSQL
 

Tablas de Sistema para obtener la definición de estructuras de datos:
Oracle Select * from ALL_TABLES
Informix Select * from SYSTABLES
SQL Server 2000 y 2005 sysobjects, sys.objects
MYSQL SELECT Table_name, Table_name FROM information_schema.TABLES

Ligas a páginas comparativas de querys
http://troels.arvin.dk/db/rdbms/

Guide to Migrating from Informix to SQL Server - Microsoft Corporation

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Shadonwk

Hola que tal buen tema, pero

Hola que tal buen tema, pero que pasa si..

tengo una tabla con 500 registros, si muestro todos esos registros en un JTable con un JScrollPane, todo perfecto modifico algun dato en la tabla y le doy al boton guardar y todo bien.. ahora si paginamos, mostrare registros de 100 en 100 con lo cual me daria 5 paginas, bien si modifico algunos datos de la primera pagina, y luego cambio a la segunda y modifico mas registros y luego cambio a la tercera.. como hacerle para mantener estas modificaciones y al darle click en guardar se realizen los cambios correctos? la idea es no mantener todos los registros en memoria, sino cual seria el chiste del paginador, porque entiendo que el paginador se usa para hacer pequeñas consultas a la base de datos y mostrar cierta cantidad de registros esto con el fin de tener pocos datos en memoria..entonces como resolver este dilema?, si la respuesta es guardar los cambios cada que das en una nueva pagina, como hacer para que si ya no quiero guardar los cambios y "segun hice cambios y navegue por las paginas, estos cambios ya se guardaron, pero si siempre decido ya no guardar, como revertir los cambios?"..

Imagen de paranoid_android

Ese comentario no es de querys, solución es de usabilidad

Me parece que ahí el problema no es paginar las respuestas del query en realidad más bien como y en que momento actualizar la información.
Seguramente esta solución ya la resolvió alguien habría que ser observador de otras aplicaciones como un cliente de base de datos.

Para Actualizar:
Solución 1 sugerida
Mantener un estado por registro para detectar que registros cambiaron y actualizar cuando el usuario da guardar para todos los cambios. Considerar que tan costoso sería porque es pesado para la memoria.
Solución 2 sugerida
Mantener un estado por registro y antes de ir a consultar la siguiente página comprobar si se realizó algún cambio y preguntar al usuario si desea actualizar.
Solución 3 sugerida
Permitir la actualización de un registro a la vez.
Eliminación
Puedes ver como funciona la paginación y la eliminación en una página de coreo como Google o Hotmail e implementar algo similar.
En la eliminación después de hacer la selección y dar a borrar se vuelve a cargar la misma página para ver los registros que sobran y refrescar la lista.

Imagen de Nopalin

no cachees

shadownk, no cachees los cambios para luego mandar todos, en el momento en que modificas una fila, guardas los cambios y actualizas tu fila en la tabla.

Imagen de Shadonwk

Nopalin

que tal nopalin, si bien es cierto eso que dices, no cachees, pero la idea no es manejarlo desde algun envento en la celda o fila de la tabla, sino mas bien desde un boton como guardar y cancelar.. sin embargo creo que engloba un mundo de posibilidades, y muchas de estas tienen que ver con el cliente ya que en mi caso el lo definio asi, que desde botones de guardar y cancelar haga la operacion, pero tambien requiere un paginador que solo valla a la base y recupero los primeros 300 registros y esos sean los unicos que almacene en memoria de manera que si se hicieron cambios en la primera carga al hacer la segunda se perderian si meto una condicion de guardar antes de cada carga seria solucion parcial pero cuando da cancelar tendria que revertir los cambios, creo que la mejor implementacion es hacer la accion como dices nopalin pero como digo esto depende del cliente..

Imagen de paranoid_android

Otra más

No se que tan difícil sea en swing pero se podría actualizar de 1 en uno hacia el back usando una llamada asíncrona. (JMS o web service asíncrono) de modo que la aplicación no haga esperar al usuario. Un mecanismo similar al auto guardado de gmail. Ojo aquí ya depende también de la arquitectura, obviamente llevaría un costo al hacer el sistema más complejo y robusto.

Como crear seriales??

Con Postgresql es muy facil crear campos de tipo Serial, o sea un campo de tipo entero que se autoincrementa con cada registro que se agrega a la tabla ¿Como se podrian crear estos campos en los otros DBMS?

Imagen de paranoid_android

Tipos seriales y mecanismos alternativos

Tipo de dato auto-incremental o serial lo manejan
Informix
Postgrees
Mysql
SQL-Server

Mecanismos alternos
Oracle campos enteros + secuencias