[firebase-br] Generetor
W O
sistemas2000profesional em gmail.com
Sex Dez 14 11:07:01 -03 2012
Excelente rutina Daniel, la agregaré a mi arsenal, será muy útil.
Saludos.
Walter.
On Fri, Dec 14, 2012 at 8:50 AM, Tecnobyte Informática <
temp2 em tecnobyte.com.br> wrote:
> Isto deve te ajudar:
>
> --- Início do SQL ---
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE SP_UpdateSequences AS
> DECLARE VARIABLE TableName VARCHAR(50);
> DECLARE VARIABLE FieldName VARCHAR(50);
> DECLARE VARIABLE SequenceName VARCHAR(50);
> DECLARE VARIABLE MaxValue BIGINT;
> DECLARE VARIABLE SQLCommand VARCHAR(200);
> BEGIN
> FOR
> SELECT
> TRIM(R.RDB$RELATION_NAME),
> TRIM(F.RDB$FIELD_NAME),
> TRIM(G.RDB$GENERATOR_NAME)
> FROM RDB$RELATIONS AS R
> JOIN RDB$RELATION_FIELDS AS F ON F.RDB$RELATION_NAME =
> R.RDB$RELATION_NAME
> JOIN RDB$GENERATORS AS G ON G.RDB$GENERATOR_NAME =
> 'SQ_' || TRIM(R.RDB$RELATION_NAME) || '_' || TRIM(F.RDB$FIELD_NAME)
> INTO :TableName, :FieldName, :SequenceName
> DO
> BEGIN
> SQLCommand = 'SELECT MAX(' || FieldName || ') FROM ' || TableName;
> EXECUTE STATEMENT SQLCommand INTO MaxValue;
> SQLCommand = 'ALTER SEQUENCE ' || SequenceName || ' RESTART WITH ' ||
> COALESCE(MaxValue, 0);
> EXECUTE STATEMENT SQLCommand;
> END
> END^
>
> SET TERM ; ^
>
> EXECUTE PROCEDURE SP_UpdateSequences;
>
> --- Fim do SQL ---
>
> Neste exemplo todod generatores (sequendes) possui nomes neste formato:
>
> SQ_NomeDaTabela_NomeDoCampo
>
> Atenciosamente.
>
> Daniel P. Guimarães
> Tecnobyte Informática
> www.tecnobyte.com.br
>
> -----Mensagem Original----- From: Guto & Michellane Araújo
> Sent: Thursday, December 13, 2012 7:01 PM
> To: FireBase
> Subject: [firebase-br] Generetor
>
>
> Boa noite,
>
> Queria um comando para atualizar o Generator de todas as tabelas do db
>
> de acordo com o numero de registros.
>
> Exemplo:
>
> A tabela produtos tem 10 registros porem seu generetor esta 15, quero que
> no próximo incremento seja 11
>
> ______________________________**________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>
Mais detalhes sobre a lista de discussão lista