这样的问题也要人帮你!自已反复思考一下、验证一下会好些.

解决方案 »

  1.   

    CREATE VIEW v_GetDate
    AS
    SELECT dt=CONVERT(CHAR(6),GETDATE(),12)--函数
    CREATE FUNCTION  f_No(@s char(1),@Area char(6))
    RETURNS char(15)
    AS
    BEGIN
    DECLARE @dt CHAR(6)
    SELECT @dt=dt FROM v_GetDate
    RETURN(
    SELECT @s+@Area+@dt+RIGHT(1000001+ISNULL(RIGHT(MAX(编号),6),0),6) 
    FROM 表 WITH(XLOCK,PAGLOCK)
    WHERE 编号 like @s+@Area+@dt+'%')
    END--存储过程
    CREATE Procedure  p_No(@s char(1),@Area char(6),@No char(25) OUTPUT)
    AS
    DECLARE @dt CHAR(6)
    SELECT @dt=dt FROM v_GetDate
    SELECT @NO=@s+@Area+@dt+RIGHT(1000001+ISNULL(RIGHT(MAX(编号),6),0),6) 
    FROM 表 WITH(XLOCK,PAGLOCK)
    WHERE 编号 like @s+@Area+@dt+'%'