Secuencias en Oracle
Errar es de humanos; incluso yo me equivoco también de vez en cuando. En la impresión final de La Cara Oculta de Delphi 4 se deslizó, a última hora, un error, al describir cómo se puede obtener el valor de una secuencia de Oracle (página 527). Resulta que el error ya había sido detectado durante la fase de revisión, pero la página que entregué para imprimir fue finalmente la incorrecta. De todos modos, en el CD-ROM del libro el código, evidentemente, es el correcto.
El ejemplo en cuestión utilizaba una secuencia definida del siguiente modo:
La idea es que podemos obtener valores secuenciales de este objeto mediante el pseudo atributo NextVal. En el libro se incluía el siguiente trigger para demostrar cómo podía utilizarse NextVal:
Aunque el código anterior tiene un aspecto bastante razonable y es bastante sencillo, Oracle (por algún misterioso motivo) no lo acepta. La forma correcta de obtener el próximo valor de una secuencia es como muestro a continuación:
Dual es una tabla especial, predefinida por Oracle, que siempre tiene una sola fila, y se utiliza en trucos sucios y retorcidos como este que acabo de mostrar. |
La franja horaria es GMT +2. Ahora son las 14:09:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi