weixin_40311627 2019-11-28 14:39 采纳率: 0%
浏览 1444

oracle中如何将A表中某一列的数据,插入到B表中的某一列中去?

请大神帮我看一下到底哪里有问题?语句如下

insert into ip_varnc_mon_trgt201911 (MAX_QTY_CHAR)
select max_value  from om_target_phdvalue b ,ip_varnc_mon_trgt201911 a
where b.trgt_name= a.trgt_name(+)
and max_value is not null 
and min_value is not null

图片说明

使用这个语句执行的时候报错 ora-01400 说是无法将NULL插入,但是我已经去n除null了。而且我是想插入到MAX_QTY_CHAR这个字段,为什么报错说是TRGT_NAME
字段呢?这个报错信息,我百度了一下说是要创建触发器或者是序列,我照着做了还是不行。麻烦大神帮我看一下,谢谢您的帮助!或者还有哪个语句可以完成我的需求,请您指导一下。

  • 写回答

2条回答 默认 最新

  • 空白如空 2019-11-28 16:01
    关注

    你的 ip_varnc_mon_trgt201911表应该有MAX_QTY_CHAR、TRGT_NAME两个字段
    而TRGT_NAME字段你应该设置了不能为NULL,所以失败了
    因为

    insert into ip_varnc_mon_trgt201911 (MAX_QTY_CHAR)
    

    是插入一条完整的数据的,所以它默认了除了MAX_QTY_CHAR字段的值都为NULL的

    用更新的话,不知道对不对

    UPDATE ip_varnc_mon_trgt201911 c LEFT JOIN (
    select max_value ,b.trgt_name from om_target_phdvalue b ,ip_varnc_mon_trgt201911 a
    where b.trgt_name= a.trgt_name(+)
    and max_value is not null 
    and min_value is not nul
    ) d  ON c.trgt_name = d.trgt_name SET c.MAX_QTY_CHAR = d.max_value;  
    

    你可以参考下
    https://blog.csdn.net/qq_38486203/article/details/80015250

    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝