用一存储过程,在保存单据时调用它生成一个按时间+流水号的编号,如:XS200608220001(字+年+月+日+四位流水事) create PROCEDURE XSDBH @BH varchar(14) out AS BEGIN SELECT @BH = 'XS'+CONVERT(char(8),getdate(),112) + RIGHT('000'+CAST(ISNULL(MAX(STUFF(编号,1,10,''))+1,1) AS VARCHAR(4)),4) FROM XSD --这是销售单表 ,销售单字段"编号"为Varchar(14) WHERE substring(编号,3,8) = CONVERT(char(8),getdate(),112) END你根据自己情况改用吧
并设置为主键
create PROCEDURE XSDBH
@BH varchar(14) out
AS
BEGIN
SELECT
@BH = 'XS'+CONVERT(char(8),getdate(),112) +
RIGHT('000'+CAST(ISNULL(MAX(STUFF(编号,1,10,''))+1,1) AS VARCHAR(4)),4)
FROM
XSD --这是销售单表 ,销售单字段"编号"为Varchar(14)
WHERE
substring(编号,3,8) = CONVERT(char(8),getdate(),112)
END你根据自己情况改用吧