日期:2014-05-17 浏览次数:21039 次
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
------解决方案--------------------
基本上都是用时间,。
year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)
如果你用的是sql2005的话,
可以指定uniqueidentifier类型,也会自动生成一个唯一字符串值,.
------
如果你要的是数字类型,那数据设自动编号就好了.,.