Foxtable(狐表)用户栏目专家坐堂 → SQL的 insert into select 语句可以用于加载表吗?


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

主题:SQL的 insert into select 语句可以用于加载表吗?

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
SQL的 insert into select 语句可以用于加载表吗?  发帖心情 Post By:2014/6/17 11:57:00 [只看该作者]

insert into MPS计划明细(客户,订单编号,生产单号,层级编码,产品编码,品名,规格,需求日期,需求数量,计量单位,生产数量,工作中心,工序号,工序名称,加工方式,模具编号,设备编号,设备名称,设备型号)
select 客户,订单编号,a.生产单号,a.层级编码,a.产品编码,a.品名,a.规格,a.需求日期,a.需求数量,a.计量单位,a.生产数量,b.工作中心,b.工序号,b.工序名称,b.加工方式,b.模具编号,b.设备编号,b.设备名称,b.设备型号
from MPS计划明细 a inner join 产品工序明细 b on a.产品编码 = b.产品编码
where b.工序号 is not null and 生产单号 is not null and NOT EXISTS (SELECT * FROM MPS计划明细 WHERE 生产单号=a.生产单号 and 产品编码=a.产品编码 and 工序号=b.工序号)

 

上面是存储过程中向表中新增行的语句,红色的是sql数据库中的表,如果想用当前表中的数据直接新增到sql数据库中:

insert into MPS计划明细(XXXX) select xxx from 表A

请问下可以这样用吗?还是只能使用后台数据库中的实际表数据才行。谢谢!

 

 



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/17 11:59:00 [只看该作者]

用后台数据库中的实际表数据才行

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 12:00:00 [只看该作者]

 不可以直接用表A,sql语句的select,必须是数据的表或者是视图。


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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/6/17 12:09:00 [只看该作者]

谢谢,因为如果用sql数据库中的表每次insertinto select 都是用表中所有的数据,担心数据多时是不是很慢,如果能用加载表,如果表中只有200行,那就只需select这200行,所以才有此问,也可能我的想法是错误的。

比如我只想用加载表中新增加的行insertinto到sql数据库表中,加载表中可以判断是新增行,但sql数据库中如何识别行是新增加的?

[此贴子已经被作者于2014-6-17 12:12:17编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/6/17 14:12:00 [只看该作者]

用同数据源才行,你把狐表当前表中的数据更新到SQL数据库中是不行的,

但是你保存到数据库后,然后在用存储过程或者其它方法把新增值添加到另一个表是可以使用的。



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 14:19:00 [只看该作者]

 回复4楼,不要直接用一条语句,用多条insert into,一个一个值插入表里面呗。

 回到顶部