使用mysql从同一表中获取和验证数据的存储过程

我是mysql和DB概念的新手,被困在存储过程中。

我需要处理逻辑以从同一张表中获取,验证,处理数据并插入到另一张表中。

每行都有列名称,代码,开始时间(DD / int),持续时间(hrs / int),开始时间,开始时间等。

我的要求是写存储过程  有循环表记录的条件 条件1:   如果表A中的starttime不为null,则将其插入到表B中,其名称,代码,startTime(timestamp,根据starttime计算),endtime(timestamp,根据持续时间计算),startwith,startafter

条件2:   如果任何行具有startwith或startafter并且与先前插入的行中的代码匹配,则将其插入到tbl B中,并在先前插入的行结束时间之后保留第2行的开始时间

需要对每一行进行检查。 'startwith'和'startafter'可以以相同的'code'出现在多行中

条件: 只有“ starttime”,“ startwith”,“ startafter”列中的任何一个都不为空

'Name' 'code' 'starton'     'starttime','startwith','startafter'  'Duration'
 ABC  abc_efg     03          9               null              null          10
nfg  cpd_hnb     null        null            null               abc_efg       20
gfg  dfd_hab     null        null           abc_efg             cpd_hnb       5
gdf  ergd_hab    19         null           cpd_hnb             null          11

正在寻找数组方法,但在mysql中无法实现。 拒绝游标,因为它们有问题。 使用“临时表”并循环数据,但并没有真正获得预期的结果。也许我的查询不是真的正确 自我加入也没有成功。 我可以创建时间并进行验证,但无法获得预期的结果,但是会插入单行。

我想这样推 名称代码startdate endDate 'ABC','abc_efg','2010-03-03 09:00:00','2010-07-19 23:59:00'

lnlmftutu 回答:使用mysql从同一表中获取和验证数据的存储过程

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3147858.html

大家都在问