¿Cómo puedo reiniciar el valor actual de una secuencia de Oracle? si el contador va por 1500 y quiero ponerlo a 10, por ejemplo ¿cómo lo hago?
Publicado:
Jue Dic 21, 2006 1:08 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Resetear/Reiniciar secuencia de Oracle
Anuncios
varios escribió:
¿Cómo puedo reiniciar el valor actual de una secuencia de Oracle? si el contador va por 1500 y quiero ponerlo a 10, por ejemplo ¿cómo lo hago?
La forma más sencilla es eliminarla y volver a crearla:
* Para eliminarla:
Código:
DROP NOMBRE_SECUENCIA
* Para crearla:
Código:
CREATE SEQUENCE NOMBRE_SECUENCIA
INCREMENT BY 1
START WITH 10
Publicado:
Jue Dic 21, 2006 1:24 pm
Villano Usuario
Registrado: Jun 04, 2007 Mensajes: 1
Asunto:
Puedes usar el siguiente procedimiento almacenado para reiniciar tu secuencia, le mandas como parámetros de entrada el nombre de la secuencia y el número al cual la quiere resetear:
create or replace PROCEDURE reset_sequence (
seq_name IN VARCHAR2, startvalue IN PLS_INTEGER) AS
cval INTEGER;
inc_by VARCHAR2(25);
BEGIN
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' ||seq_name||' MINVALUE 0';
EXECUTE IMMEDIATE 'SELECT ' ||seq_name ||'.NEXTVAL FROM dual'
INTO cval;
cval := cval - startvalue + 1;
IF cval < 0 THEN
inc_by := ' INCREMENT BY ';
cval:= ABS(cval);
ELSE
inc_by := ' INCREMENT BY -';
END IF;
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A