insert usando secuencia nextval?
Buenas,
tengo que hacer una insert en sql server y tengo que usar nextval para poder conocer el dato correcto de una secuencia para una tabla.
¿Cómo se debe usar? Porque si pongo nombre_secuencia.nextval me dice que no reconoce nextval
Muchas gracias
Un saludo
Bego
tengo que hacer una insert en sql server y tengo que usar nextval para poder conocer el dato correcto de una secuencia para una tabla.
¿Cómo se debe usar? Porque si pongo nombre_secuencia.nextval me dice que no reconoce nextval
Muchas gracias
Un saludo
Bego
En SQL Server no existen las secuencias. Existen los indentity, que son basicamente lo mismo.
El valor se recupera una vez asignado, y no antes de asignarlo, y se hace a través de la función @@identity.
Select @@identity --Sin clausula FROM
es equilalente a:
SELECT SEQUENCIA.CURRVAL FROM DUAL de oracle
Tienes que tener mucho cuidado si la tabla tiene algún trigger, ya que si el trigger realiza alguna insercion en otra tabla identity @@identity devolverá el valor de la última tabla y puede ocasionar problemas.
Saludos!
El valor se recupera una vez asignado, y no antes de asignarlo, y se hace a través de la función @@identity.
Select @@identity --Sin clausula FROM
es equilalente a:
SELECT SEQUENCIA.CURRVAL FROM DUAL de oracle
Tienes que tener mucho cuidado si la tabla tiene algún trigger, ya que si el trigger realiza alguna insercion en otra tabla identity @@identity devolverá el valor de la última tabla y puede ocasionar problemas.
Saludos!
