trigger tabla sirven que para misma los example español ejercicios ejemplos campo actualizar 11g oracle triggers primary-key identity sequences

tabla - trigger oracle ejemplos



¿Qué tan malo es simular columnas de IDENTIDAD/AUTOINCREMENTACIÓN usando desencadenadores en Oracle? (2)

Mantengo una aplicación que fue escrita originalmente para ser específica de SQL Server (usando campos de IDENTIDAD). Por lo tanto, hemos tenido que definir una gran cantidad de activadores para aumentar automáticamente las claves primarias de las tablas.

Me dijeron que esto se considera una solución estrafalaria en el mundo de Oracle, pero eso me lo dijeron de una manera "amiga de un amigo". ¿Qué tan grande es el uso de disparadores para incrementar las claves primarias de una secuencia en lugar de usar la secuencia directamente?


Es una práctica muy común en mi experiencia, y no terriblemente mala. Sin embargo, si tiene control sobre las inserciones (por ejemplo, si todas las inserciones se realizan a través de una API PL / SQL), entonces es más eficiente usar la secuencia directamente en la instrucción INSERT, ya que evita la sobrecarga de disparar un desencadenador. ¡Pero realmente no me preocuparía excesivamente si has usado disparadores!


Esto puede no ser totalmente relevante, pero usar "antes del desencadenador de inserción" para autoincrementar las claves primarias es una buena opción, especialmente en las instrucciones de combinación. Si se usa una secuencia directamente dentro de la sección Insertar fusión, la secuencia parece invocarse incluso para las actualizaciones.