Publicado por: Gustavo Henrique | Abril 17, 2008

Setando um Generator via Stored Procedure no Firebird.

CREATE PROCEDURE AAAAAA_APAGAAPARTIR (
    IPCODIGOINICIAL INTEGER)
AS
DECLARE VARIABLE VCODIGOMAIOR INTEGER;
begin
  /* SERÁ APAGADO DESTE ATÉ O ÚLTIMO INFORMADO, A PARTIR DESTE */
  DELETE FROM PROPRIEDADENEGATIVO WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;
  DELETE FROM RELACOES WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;
  DELETE FROM IMAGEM WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;

  SELECT MAX(CODIGOPROPRIEDADENEGATIVO) FROM PROPRIEDADENEGATIVO INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGOPROPRIEDADENEGATIVO TO ‘ || VCODIGOMAIOR;

  SELECT MAX(CODIGORELACOES) FROM RELACOES INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGORELACOES TO ‘ || VCODIGOMAIOR;

  SELECT MAX(CODIGOIMAGEM) FROM IMAGEM INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGOIMAGEM TO ‘ || VCODIGOMAIOR;

end


Deixe uma resposta

Sua resposta:

Categorias