Sql Server Semi Sequence
1. Eine Semi-Sequenz kann wie folgt erzeugt werden,hierzu ist einen eigene Tabelle notwendig, bei bedarf können die Sequenzen auch in eine eigene Tabelle verfrachtet werden:
CREATE PROCEDURE dbo.GetNextSequenceId
@TableName varchar(250)
AS
SET NOCOUNT ON
DECLARE
@SqlStatement nvarchar(max),
@SqlParameterDefinition nvarchar(max),
@SequenceId bigint
SET @SqlStatement = 'INSERT INTO ['+@TableName+'] (Value) VALUES(1);
SELECT @Sequence=IDENT_CURRENT('''+ @TableName +''');
DELETE FROM ['+ @TableName +'] WHERE ID_Sequence=@Sequence;';
SET @SqlParameterDefinition = N'@Sequence bigint OUTPUT'
EXECUTE sp_executesql @SqlStatement, @SqlParameterDefinition, @Sequence=@SequenceId OUTPUT;
Select @SequenceId as 'SquenceId';
Posted: November 22nd, 2010 under MS Sql Server.