首页 新闻 会员 周边 捐助

SQL 怎么动态生成序号列?

0
悬赏园豆:20 [待解决问题]

希望的效果请看表二,表二的ID列的序号是根据表一的PCS_PER_SHEET字段动态生成的,大神们,麻烦帮忙看看,谢谢!

SQL
只是那些的主页 只是那些 | 初学一级 | 园豆:182
提问于:2018-11-19 10:56
< >
分享
所有回答(5)
0

这事情说起来话就长了。
不过你既然这么问了,我就先提供一个简单的非并发方案,你先知道了简单的方案,然后才自己去根据实际生产情况,找寻更好的方案。
Declare @Id
Select @id=max(id) from table where mfg_lot='4225121'
set @id=@id+1
Insert into table ....
简单的就是这样而已。
当然你要写在代码中也行。
一旦考虑到并发冲突,事情就开始麻烦了,这就得麻烦你搜索一下数据库并发更新等方面的文章看一下。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-11-19 11:03
0

插入参数通过查询得到?哈哈

guodaxia | 园豆:87 (初学一级) | 2018-11-19 11:44

用SQL实现,表2的ID一定不是主键吧。因为需要知道MFG_LOT_NO才可以知道ID的值,让ID可以为空,但是MFG_LOT_NO基本上不能为空,写一个触发器,表二新增完或者修改完MFG_LOT_NO的字段之后触发进行修改ID列的值

支持(0) 反对(0) guodaxia | 园豆:87 (初学一级) | 2018-11-19 11:46
0

SQL查询的方式实现不了,只能重新用临时表的方式来实现了

归来的小陆 | 园豆:75 (初学一级) | 2018-11-19 11:57
0

调用 存储过程

jqw2009 | 园豆:2341 (老鸟四级) | 2018-11-20 15:50
0

直接用newid()

波霸38 | 园豆:205 (菜鸟二级) | 2018-11-21 18:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册