If we want to get a table autogenerate column id, without auto increment column. we can do it easily. we can also made it globally for all table. We can create a table name paramaterize store procedure that will give us table last column ID without using auto increment column. CREATE PROCEDURE [dbo].[spSET_GetDB_TablePKID] @tableName [varchar](100), @locationId [int] AS BEGIN declare @newID varchar(20) declare @dbID varchar(20) declare @generateID bigint declare @ReturnValue varchar(100) if exists(select * from DB_TablePKID where LocationID=@locationId and TableName=@tableName) begin --table name exists set @ReturnValue= (select MaxID+1 from DB_TablePKID where LocationID=@locationId and TableName=@tableName) end else --table name is not exists. begin -- generate new first ID for the supplied table select @dbID= DBid from DB where DBLocationID=@locationId set @newID=@dbID+'00000000000001' ...
Work smarter, not harder.