Foxtable(狐表)用户栏目专家坐堂 → 一次性插入多行时如何获取新增行的真正的_identify


  共有6913人关注过本帖树形打印复制链接

主题:一次性插入多行时如何获取新增行的真正的_identify

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1934 积分:17661 威望:0 精华:0 注册:2014/7/29 19:09:00
一次性插入多行时如何获取新增行的真正的_identify  发帖心情 Post By:2022/10/23 21:07:00 [只看该作者]

在foxtable的窗口的保存按钮中用sql事务执行保存, 如下所示:
1 一次性将多行新增到sql数据库中的采购入库明细表中;
insert into 采购入库明细 (入库单号,产品编码,数量,入库日期) select  ..... from xxx  '明细表中一次新增多行

2 将采购入库明细新增的行添加到出入库记录表中
insert into 出入库记录表 (进出单号,产品编码,数量,进出日期,行号) select  ..... from xxx

我的问题是: 新增行的_identify在foxtable窗口中是临时的,如果在第1项sql语句执行后,
在第2行语句执行时如何能获取1处刚插入的多行的实际的_Identify作为行号新增到出入库记录表中,因为后续修改删除都必须用此行号才能正确识别

帮助中的Select SCOPE_IDENTITY()例子只是在每一次插入一行后返回;没有多行一次性插入的写法

谢谢!




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/23 21:11:00 [只看该作者]

找能够识别采购入库明细这个表唯一的数据取查和获取_Identify。

比如入库单号是唯一的,就通过入库单号查询获取,如果不是唯一就增加字段比如通过入库单号,产品编码查询

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1934 积分:17661 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2022/10/23 21:30:00 [只看该作者]

大概明白了,入库单号是先生成的,已经有明确的值,那意思是第2项的语句就不用从foxtable的界面新增的明细表拼接了,因为第一项
insert into 采购入库明细 (入库单号,产品编码,数量,入库日期) select  ..... from xxx  '明细表中一次新增多行
后可以用入库单号直接从sql数据库中查询到此入库单号的所有明细数据,也就是第2项这样用对吧
 insert into 出入库记录表 (进出单号,产品编码,数量,进出日期,行号)  select 入库单号,产品编码,数量,入库日期,_Identify from 采购入库明细 where 入库单号 = xxxx

但有个疑问,因为上面的语句是用事务全部语句执行完才一起提交的,是不是只要是第一项插入明细表的sql语句在前面,第二项sql语句就可以提取到sql数据库中刚插入的明细数据了,
虽然执行到第二项时事务没正式提交,

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111390 积分:567014 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/23 21:37:00 [只看该作者]

是的,只要第一条语句先执行,第二条语句就可以获取正确的_Identify值

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1934 积分:17661 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2022/10/23 21:46:00 [只看该作者]

好的,谢谢!

 回到顶部