SoloCodigo
Bases de Datos => Oracle => Mensaje iniciado por: alexis17 en Miércoles 26 de Marzo de 2008, 03:54
-
buenas noches que tal, tenia una consulta
estaba investigando en internet como crear un secuencial en oracle
y encontre esto
CREATE SEQUENCE nombre_secuencia
INCREMENT BY numero_incremento
START WITH numero_por_el_que_empezara
MAXVALUE valor_maximo | NOMAXVALUE
MINVALUE valor_minimo | NOMINVALUE
CYCLE | NOCYCLE
ORDER | NOORDER
lo que no entendi fue para que se usa | NOMAXVALUE o eso va seguido del valor maximo osea que igual significa el valor maximo
y esto tambien
CYCLE | NOCYCLE
ORDER | NOORDER
mas o menos entiendo pero quiero estar un poco mas claro para no hacer las cosas mecanicamente
y tambien encontre este otro
el ejemplo de abajo se ve mas sencillo
CREATE SEQUENCE mitabla INCREMENT BY 1 START WITH 1 MAXVALUE 10 NOCYCLE CACHE 20 NOORDER;
lo que no entendi fue esto
NOCYCLE CACHE 20 NOORDER;
para que se usa NOCYCLE CACHE
y
NOORDER
-
buenas noches que tal
Deseo hacer un secuencial utilizando una letra, año, mes, y 6 numeros
estaba intentando algo asi
este es uno que ise y utilizo con numero
CREATE SEQUENCE MI_SECUENCIAL INCREMENT BY 1 START WITH concat('L', (substr(SYSDATE,7,4)), (substr(SYSDATE,4,2)), 10001) MAXVALUE concat('L', (substr(SYSDATE,7,4)), (substr(SYSDATE,4,2)), 99999) NOCYCLE CACHE 20 NOORDER;
lo que trato de hacer es concatenar y despues incrementar en uno
para que me salga este codigo en secuencial ejemplo
L20080410001
letra, año ,el mes pero en numero, y el codigo que son 5 digitos
no se si se podra hacer asi, no puedo probarlo ya que no tengo oracle intalado en mi pc, o para ver si alguien tiene una mejor idea o si eso no se peude hacer en oracle
-
CYCLE | NOCYCLE
Si la secuencia alcanza su valor maximo... vuelve a empezar desde su valor mínimo.
ORDER | NOORDER
solo aplica si utilizas servidores trabajando oracle con la opcion de parall server.
CACHE 20
Quiere decir que al primer llamado de nextval que haces oracle deja listos en memoria 20 iteraciones de la secuencia y no volvera a realizar transaccion completa de secuencia sino hasta agotar esos 20, cuando los agora pa por otros 20 etc..
si sierras la sesion y te faltaban usar algunos para completar los 20... los pierdes.