update a_czy a
set a.xm = (select xm from b_czy b where a.czdh = b.czdh);那为什么上面这条语句报错说:
SQLWKS> update a_czy a
2> set a.xm = (select xm from b_czy b where a.czdh = b.czdh);
ORA-01407: 无法更新 ("APPUSR"."A_CZY"."XM") 为 NULLa_czy 跟 a_czy 的表结构完全一样,只是数据不同!
set a.xm = (select xm from b_czy b where a.czdh = b.czdh);那为什么上面这条语句报错说:
SQLWKS> update a_czy a
2> set a.xm = (select xm from b_czy b where a.czdh = b.czdh);
ORA-01407: 无法更新 ("APPUSR"."A_CZY"."XM") 为 NULLa_czy 跟 a_czy 的表结构完全一样,只是数据不同!
解决方案 »
- 保存Oracle脚本问题
- 写了个最简单的触发器,居然也报错。。。。。。(附SQL语句)
- oracle 10g数据库服务器IP发生改变后,监听及实例无法运行该如何解决?
- oracle逐行更新问题
- 请问啊~~如何用PL/SQL的存储过程操作XML
- 我在包中定义了一个过程,返回查询结果,怎样来执行?
- 怎么样删除oracle DBA studio 中的归档日志
- function返回个number值该怎么写?大侠帮忙
- select into var1 from table where ***中查询出多条记录赋值给一个变量不会出错?
- 对PL/SQL表实施插入和删除操作??????????????
- update 问题,急用,在线等待!!!
- oracle触发器或过程能否调用一个外部程序?
set a.xm = (select xm from b_czy b where a.czdh = b.czdh);那为什么上面这条语句报错说:
SQLWKS> update a_czy a
2> set a.xm = (select xm from b_czy b where a.czdh = b.czdh);
ORA-01407: 无法更新 ("APPUSR"."A_CZY"."XM") 为 NULLa_czy 跟 b_czy 的表结构完全一样,只是数据不同!
而且b_czy.xm字段没有一条记录为空或者空格!
ORA-01407: 无法更新 ("APPUSR"."A_CZY"."XM") 为 NULL
你的xm字段设为允许空,应该能通过
然后检查你的(select xm from b_czy b where a.czdh = b.czdh);这句话,有可能查不出数据,所以报错
set a.xm = (select xm from b_czy b where a.czdh = b.czdh);这样是更新a表里面得所有数据 如果b表里面没有a表得czdh那就会为空应该加各限制,
update a_czy a
set a.xm = (select xm from b_czy b where a.czdh = b.czdh)
where a.czdh in (select czdh from b_czy)
我刚才也是需要这么update,折腾了好长时间。终于按楼上的例子搞定了。