首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp怎么先取得唯一的一个编号再存入数据库

2012-03-16 
asp如何先取得唯一的一个编号再存入数据库?asp如何先取得唯一的一个编号再存入数据库?[解决办法]可以写个

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

[解决办法]
可以写个存储过程, 关键是取编号和插入编号在一句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 TRANSACTIONINSERT 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)=0SET @order_id = SCOPE_IDENTITY()INSERT detail(order_id, xxxx) VALUES (@order_id, @xxxx)IF @@ERROR <> 0BEGIN    ROLLBACK TRANSACTION    SET NOCOUNT OFF    RETURN 10000ENDCOMMIT TRANSACTION
[解决办法]
基本上都是用时间,。
 year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)

如果你用的是sql2005的话,
 可以指定uniqueidentifier类型,也会自动生成一个唯一字符串值,.
------
 如果你要的是数字类型,那数据设自动编号就好了.,.

热点排行