Cómo establecer una secuencia para el siguiente valor en Oracle

Escrito por kammy pow | Traducido por luis alberto fuentes schwab
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo establecer una secuencia para el siguiente valor en Oracle
La pseudocolumna NEXTVAL genera números secuenciales únicos en una base de datos Oracle. (Jupiterimages/Photos.com/Getty Images)

Los programadores pueden crear claves primarias únicas para una tabla en una base de datos Oracle mediante la inserción de una secuencia en la base de datos y la asignación de la clave mediante la pseudocolumna NEXTVAL. NEXTVAL recupera el número siguiente de una secuencia predefinida. Las secuencias son objetos de base de datos utilizados para generar números únicos secuenciales. Los usuarios o programadores deben tener privilegios en el esquema donde éstas se almacenan con el fin de poder utilizarlas. Los números en una secuencia sólo pueden ser usadas una vez.

Nivel de dificultad:
Moderado

Otras personas están leyendo

Instrucciones

    Usando NEXTVAL para recuperar el número secuencial siguiente

  1. 1

    Abre el editor de PL/SQL o el programa editor de procedimientos almacenados. A continuación, abre un programa existente o inicia un nuevo programa.

  2. 2

    Obtén el nombre de la secuencia a utilizar en la instrucción SQL. Escribe y ejecuta la consulta siguiente en la línea de comandos:

    SELECT * FROM USER_SEQUENCES;

    La consulta debe devolver el nombre de cada secuencia accesible para el usuario en el esquema, enumerando los valores mínimos y máximos de cada uno.

  3. 3

    Utiliza la pseudocolumna NEXTVAL para devolver el valor del número secuencial siguiente. El valor se puede acceder en un bloque PL/SQL mediante una oración de inserción, actualización o selección, como en el siguiente ejemplo:

    UPDATE EMPLOYEE SET empid=emp_Id_seq.NEXTVAL WHERE empid="101400";

    o

    SELECT emp_id_seq.NEXTVAL FROM DUAL;

    o

    INSERT INTO EMPLOYEE (empid) VALUES (emp_id_seq.NEXTVAL)

    Una vez que el número es generado, éste sólo estará disponible para la sesión del usuario de base de datos en particular.

  4. 4

    Utiliza la pseudocolumna CURRVAL para ver el valor del último número utilizado en la secuencia escribiendo el siguiente código:

    SELECT emp_id_seq.NEXTVAL FROM DUAL;

Consejos y advertencias

  • NEXTVAL aumentará independientemente de que la secuencia se haya confirmado (committed) o retrotraído (rolled back). Además, la secuencia NEXTVAL no se puede usar en una subconsulta, en una vista, o en sentencias como: SELECT DISTINCT, SELECT GROUP BY u ORDER BY, UNION, o ALTER TABLE.
  • El generador de secuencia NEXTVAL debe ejecutarse antes de la consulta CURRVAL.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles