-
ORACLE更新语句。0
有一个oracle更新语句是这样的:UPDATE SH_INTERNAL_SUB_DEPT DP SET DP.UNCONFORM_COUNT = (SELECT COUNT(*) FROM SH_INTERNAL_SUB_STANDARD SD WHERE SD.INTERNAL_GROUP_ID = 28 AND SD.CONFORM_FLAG =1 ) WHERE DP.DEPT_ID = (SELECT TM.AUDIT_DEPARTMENT_ID FROM SH_INTERNAL_SUB_TEAM TM WHERE TM.INTERNAL_GROUP_ID = 28) AND DP.INTERNAL_PLA(SELECT TM.INTERNAL_PLAN_ID FROM SH_INTERNAL_SUB_TEAM TM WHERE TM.INTERNAL_GROUP_ID = 28 )
请问一下,该怎么优化一下,去掉这么多的子查询语句。2013年7月05日 15:31
4个答案 按时间排序 按投票排序
-
UPDATE SH_INTERNAL_SUB_DEPT DP,SH_INTERNAL_SUB_TEAM TM
SET DP.UNCONFORM_COUNT = (
SELECT COUNT(1)
FROM SH_INTERNAL_SUB_STANDARD SD
WHERE SD.INTERNAL_GROUP_ID = 28
AND SD.CONFORM_FLAG =1
)
WHERE DP.DEPT_ID = TM.AUDIT_DEPARTMENT_ID
AND TM.INTERNAL_GROUP_ID = 282013年7月05日 16:54
-
你少写了一个等号吧。
UPDATE SH_INTERNAL_SUB_DEPT DP
SET DP.UNCONFORM_COUNT
= (
SELECT COUNT(*)
FROM SH_INTERNAL_SUB_STANDARD SD
WHERE SD.INTERNAL_GROUP_ID = 28
AND SD.CONFORM_FLAG =1
)
WHERE EXISTS(
SELECT 1 FROM SH_INTERNAL_SUB_TEAM TM
WHERE TM.INTERNAL_GROUP_ID = 28
AND DP.DEPT_ID = TM.AUDIT_DEPARTMENT_ID
AND DP.INTERNAL_PLA = TM.INTERNAL_PLAN_ID
)
;2013年7月05日 16:05
-
AND DP.INTERNAL_PLA(SELECT TM.INTERNAL_PLAN_ID FROM SH_INTERNAL_SUB_TEAM TM
WHERE TM.INTERNAL_GROUP_ID = 28 )这句少个'='或者'IN'吧。
单从语句上很难优化了,如果数据量很大的话,可以拆分写个过程。2013年7月05日 16:01
相关推荐
Oracle更新语句
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
oracle解锁语句,常用解锁语句,经过测试实用;oracle解锁语句,常用解锁语句,经过测试实用。
称: oracle查询语句大全 资源类型
oracle数据库语句大全系统的介绍oracle常用数据库相关语句。详尽的实例让你即看即用,更是零基础者实用的学习资料。
Oracle sql语句大全. sql语句的优化资料
Oracle选择语句
oracle Sql语句二 oracle Sql语句二
本工具是生成oracle数据库建表语句的sql工具,利用excel实现,需要开启宏
Oracle数据库语句精选大全
Oracle数据库语句大全.doc
oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本
ORACLE经典常用语句总结 ORACLE经典常用语句总结
很全的oracle sql语句学习资料,从基础开始,逐层深入,让你成为sql高手
Oracle SQL语句性能优化
比较详细的介绍了oracle查询语句的优化方法,适合初学者。
oracle开发语句及项目
Oracle建表语句Oracle建表语句
一些常用到的在oracle中的sql语句,也是我在网上找到的,分享给大家