Buscar este blog

lunes, 19 de noviembre de 2018

Cambiar valor de la secuencia al mayor ID de la base de datos

declare
  v_sql varchar2(500);
begin
  EXECUTE IMMEDIATE 'drop sequence "ESQUEMA"."HIBERNATE_SEQUENCE"';
  SELECT 'CREATE SEQUENCE "ESQUEMA"."HIBERNATE_SEQUENCE" MINVALUE 1 START WITH '||  
    (SELECT MAX(ID1)+1 FROM (
      SELECT MAX(ID) "ID1" FROM  XXXY
       UNION
      SELECT MAX(ID) FROM  XXX)
  )    
  ||' INCREMENT BY 1 CACHE 20'
  INTO v_sql
  FROM dual;

  EXECUTE IMMEDIATE v_sql;

  dbms_output.put_line(v_sql);
end;

No hay comentarios: