SQL自定义自增列(通用存储过程)

来源:互联网 发布:c接收post数据 编辑:程序博客网 时间:2024/06/06 01:06
ALTER PROCEDURE GetOrderCode    (      @NO VARCHAR(MAX) , --前缀      @TableName VARCHAR(MAX) , --表名      @ColumnIDName VARCHAR(300) --表中自增列的字段    )AS     BEGIN        DECLARE @MaxId INT         DECLARE @sql NVARCHAR(MAX)        DECLARE @Parm NVARCHAR(MAX)        DECLARE @OrderCode VARCHAR(MAX)                SET @sql = 'SELECT @MaxID = ' + @ColumnIDName + ' FROM  ' + @TableName  --取到表中最大的ID(系统自增的)                SET @Parm = N'@MaxID int OUTPUT'        EXECUTE sys.sp_executesql @sql, @Parm, @MaxID = @MaxID OUTPUT                SELECT  @OrderCode = ( @NO + '-' + CONVERT(VARCHAR(8), GETDATE(), 112)                               + '-' + RIGHT('0000'                                             + CAST(( @MaxID + 1 ) AS VARCHAR(50)),                                             4) )        SELECT  @OrderCode    END    

0 0
原创粉丝点击