+ -
当前位置:首页 → 问答吧 → asp如何先取得唯一的一个编号再存入数据库?

asp如何先取得唯一的一个编号再存入数据库?

时间:2011-11-23

来源:互联网

asp如何先取得唯一的一个编号再存入数据库?

作者: shugeer   发布时间: 2011-11-23

dfgd幅度高达

作者: q91060   发布时间: 2011-11-23

豆腐干地方

作者: q91060   发布时间: 2011-11-23

唯一编号指的是什么?什么格式?

作者: hookee   发布时间: 2011-11-23

年月日加一个流水号

作者: shugeer   发布时间: 2011-11-23

可以写个存储过程, 关键是取编号和插入编号在一句SQL中,这样可以确保按照一个交易来执行,保证唯一

INSERT INTO orders(order_no) SELECT CONVERT(CHAR(6),getDate(),12) + RIGHT('0000'+CAST(CAST(RIGHT(COALESCE(MAX(order_no),'0000'),4) AS TINYINT)+1 AS VARCHAR(5)),4) FROM orders WHERE DATEDIFF(d,getDate(),created_date)=0


SQL code

BEGIN TRANSACTION

INSERT INTO orders(order_no) SELECT CONVERT(CHAR(6),getDate(),12) + RIGHT('0000'+CAST(CAST(RIGHT(COALESCE(MAX(order_no),'0000'),4) AS TINYINT)+1 AS VARCHAR(5)),4) FROM orders WHERE DATEDIFF(d,getDate(),created_date)=0

SET @order_id = SCOPE_IDENTITY()
INSERT detail(order_id, xxxx) VALUES (@order_id, @xxxx)
IF @@ERROR <> 0
BEGIN
    ROLLBACK TRANSACTION
    SET NOCOUNT OFF
    RETURN 10000
END
COMMIT TRANSACTION

作者: hookee   发布时间: 2011-11-23