FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
|
#2
|
||||
|
||||
En firebird existen los generadores.
Los generadores siempre devuelven números diferentes (garantizado por la base de datos). Los generadores siempre se incrementan, a pesar de que la transacción falle (Rollback). Yo suelo dejar que la base de datos lo genere y me lo devuelva. Con esta sentencia y el generador en el trigger:
Cuando por alguna razón no puedo utilizarlo de esta manera, pido un número al generador y luego lo utilizo en el insert
|
#3
|
||||
|
||||
En tu caso, básicamente haces un SELECT MAX(ID).
Si justo al mismo tiempo dos usuarios piden el MAX(ID) les devolverá el mismo número. Luego al hacer el INSERT el primero logrará hacerlo y el segundo dará error porque estará insertando un duplicado. Particularmente esta forma de obtener un ID es muy ineficiente en Firebird. A pesar de tener índices por ese campo. Tiene que ver con la multi versión de registros. En otros motores no sabría decirte. Última edición por duilioisola fecha: Hace 8 Horas a las 18:58:07. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Combinación de teclas para generar el método de una función | danny915 | Varios | 4 | 21-11-2014 18:24:03 |
Mejor Metodo para Verificar Numeros Primos | Victor Luis | Varios | 2 | 20-10-2013 06:33:03 |
Mejor Metodo para leer las teclas | pmtzg | Varios | 3 | 08-11-2007 18:05:16 |
Otro metodo de insercion que sea mejor hacerlo via query | ilichhernandez | Conexión con bases de datos | 2 | 01-07-2006 12:26:06 |
Mejor opcion para trabajar con tablas planas | andre | Tablas planas | 0 | 30-06-2004 19:17:03 |
|