我有一个带有字段(id,quantity,productid,customerid,deliverydate)的交货表。要求在每个产品上放置一个序列化标签,并维护标签、产品、客户和交货日期的日志。taglog表是自动递增的,id表示标签序列号
Delivery Table
id quantity productId customerId deliveryDate
2085 4 10197 245 2020-06-05
2085 2 10433 245 2020-06-05
我想在delivery表(还没有标记的地方)中循环,并为每一行在taglog中为number in quantity字段创建一条单独的记录。例如,这两个交付记录应该在taglog表中创建6个记录。
tagLog
tagId productId customerId deliveryDate
20890 10197 245 2020-06-05
20891 10197 245 2020-06-05
20892 10197 245 2020-06-05
20893 10197 245 2020-06-05
20894 10433 245 2020-06-05
20895 10433 245 2020-06-05
任何关于内环构造的建议都将不胜感激。
1条答案
按热度按时间rsaldnfx1#
sql是一种基于集合的语言,在处理循环方面效率不高。
如果您运行的是mysql 8.0,那么可以通过递归查询来实现这一点(这仍然是一个迭代过程,但性能比存储过程中的循环要好):
目前还不清楚要使用哪种方法来生成
tagId
. 这将为您提供一个从1
,以及相同原件的记录id
是连续的。