Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

terça-feira, 8 de novembro de 2016

MSSQL(SQL SERVER) - Procedure Refresh Sequence

Reações: 
CREATE PROCEDURE [dbo].[REFRESH_SEQ_ID]     @NM_SEQ_ID VARCHAR(100),  @TBL varchar(128)  
AS  
BEGIN    
 declare @ParmDefinition NVARCHAR(500);
 declare @VLR integer;
 declare @SQLVLR NVARCHAR(500);
 Set @ParmDefinition = N'@VLROUT Int output';
 Set @SQLVLR = 'SELECT @VLROUT = MAX(*) + 1 FROM ' + @TBL;
   EXEC sp_executesql @SQLVLR, @ParmDefinition, @VLROUT = @VLR OUT;
 declare @SQL varchar(1024) = 'ALTER SEQUENCE ' + cast(@NM_SEQ_ID as varchar(100)) + ' RESTART WITH ' + cast(@VLR as varchar(10)); 
 Begin tran T0; 
   Exec(@SQL);
 Commit tran T0;  
END 
Usando a procedure:
execute REFRESH_SEQ_ID @NM_SEQ_ID = 'SEQ_ID_TABELA', @TBL = 'TBLTABELA';

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer