明显你的where 语句里有错误,SEC4_MST不是你要update的表,可不可以改成这样
where MST.Sec3_Cd in (select sec4_cd from SEC4_MST)
where MST.Sec3_Cd in (select sec4_cd from SEC4_MST)
解决方案 »
- 求pl/sql快速写包的方法、工具或思路
- Oracle的表分析需要经常进行吗?还是只要跑一回就可以了?
- mssql转oracle建表
- 怎样删除重复的记录
- 一个关于汉字显示的问题,谢谢
- 请教一个关于分布式数据库的问题
- 在Oracle数据库中写一个查询表记录的存储过程为什么报错?
- 求助TNS-12560: TNS:protocol adapter error
- create DIRECTORY 'tmpdir' AS '/tmp'时候出现错误?
- 如何建立这种关系的表
- 为什么我的系统内存在"BIN$5HxhDh6fgnbgMHPKOKk7hQ==$0"这样的表名。(非常抱歉我没有可用分了。)
- 一个非常奇怪的数据库连接异常问题?急需解答!
UPDATE SEC3_MST SET SEC3_MST.NAME = 'aaa' WHERE SEC3_MST.Sec3_Cd = (select SEC4_MST.SEC4_CD from SEC4_MST,SEC3_MST where SEC4_MST.SEC4_CD=SEC3_MST.SEC3_CD)
SET SEC3_MST.NAME='aaa'
WHERE
exists(select 1 from SEC4_MST where SEC3_MST.Sec3_Cd = SEC4_MST.SEC4_CD );
select Sec3_Cd from SEC3_MST,SEC4_MST where SEC3_MST.Sec3_Cd = SEC4_MST.SEC4_CD
)
exists(select 1 from
这里是什么意思那
跟select * from ...是一样的
不是看返回什么结果,主要是判断有没有结果返回。
没有exist或not exist
UPDATE SEC3_MST SET SEC3_MST.NAME = 'aaa' where SEC3_MST.Sec3_Cd in(select SEC4_CD from SEC4_MST)
或者
UPDATE SEC3_MST SET SEC3_MST.NAME = 'aaa' where exists (select SEC4_CD from SEC4_MST)
exists
如:select id,name from a where exists(select 'X' from b where a.id=b.id)
查出为a表中在b表存在的记录