borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Enlaces sobre desarrollo web Modificado
  2. Cadena aleatoria en PHP Modificado
  3. Recortar texto Nuevo

Sugerencias del chef

Lo más visitado

  1. Canales RSS
  2. Formato condicional según el día de la semana
  3. Enlaces sobre desarrollo web
  4. Recortar texto
  5. Convertir de minutos a horas
Compartir esta página

Campo autonumérico

En Access se llama Autonumérico. En MySQL se denomina AUTO_INCREMENT. En SQL Server recibe el nombre de IDENTITY. En PostgreSQL se conoce como SERIAL. Y en Oracle… En Oracle se lo programa uno mismo con una secuencia, un trigger y un par de huevos. Porque Oracle es cosa de hombres.

/* * Tabla con clave primaria autoincremental */ CREATE TABLE FOO ( FOO_ID NUMBER(*,0) NOT NULL, -- ... y resto de campos CONSTRAINT FOO_PK PRIMARY KEY (FOO_ID) ); COMMENT ON COLUMN FOO.FOO_ID IS 'Secuencia'; /* * Secuencia para la clave primaria */ CREATE SEQUENCE FOO_SEQ1 INCREMENT BY 1 START WITH 1 MINVALUE 1 CACHE 20; /* * Generador de IDs para la clave primaria */ CREATE OR REPLACE TRIGGER FOO_TRG1 BEFORE INSERT ON FOO REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN -- Si no se ha indicado un ID generamos uno IF :NEW.FOO_ID IS NULL THEN SELECT FOO_SEQ1.NEXTVAL INTO :NEW.FOO_ID FROM DUAL; END IF; END FOO_TRG1; / ALTER TRIGGER FOO_TRG1 ENABLE;

Notas

Historial

v2013-02-07
Quitar gestión de excepciones redundante.
v2009-01-20
Primera versión.

Esta página ha sido impresa el miércoles 12 de agosto de 2026 (15:15:13 +0200) desde https://borrame.com/recortes/oracle/campo-autonumerico.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

Lorem ipsum dolor sit amet.

© 2005-2026 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com