oracle cte 内存,执行Oracle CTE
我在Oracle中构建了一个关系数据模型,现在使用Python创建了一个GUI。我需要一个SQL语句在IDE中执行,但是得到一条cx_Oracle.DatabaseError: ORA-00936: missing expression错误消息。这是一个在TOAD中运行良好的CTE,当我删除CTE并放入一个简单的SQl语句时,它执行得很好。在
我可以在我的数据库中构建一个视图并执行select * from,但我不想这样。在
我是Python新手,所以我确信有更好的方法来实现这一点。在import cx_Oracle
con = cx_Oracle.connect('Example', 'Example', "Example")
cur = con.cursor()
statement = ("with r1 as (" +
" select " +
" r.PARENT_ITEM_id, " +
" D.SC_ID, " +
" --F.TONS" +
" SUM(ROUND(F.TONS*Pic_Distro*2000*s.stk_lvl_mult)) as Stocking_Lvl" +
" from PIC_DISTRO_TBL D" +
" Left Join Part_Velocity_TBL P on (P.item_ID = D.Item_ID and D.SC_ID = P.SC_ID)" +
" Left Join Forecast_TBL F on (D.Bucket_ID = F.Bucket_ID and D.SC_ID =F.SC_ID)" +
" left join Stock_lvl_tbl S on (S.Velocity_id = P.VELOCITY_ID)" +
" left join item_tbl I on (i.item_ID = D.ITEM_ID)" +
" left join parent_item_tbl R on (r.PARENT_ITEM_id = i.PARENT_ITEM_id)" +
" Where F.MTH = '4'" +
" and F.YEAR = '2017'" +
" and P.Velocity_id in ('A','B','C')" +
" and D.SC_ID in ('01','02')" +
" -- and SUM(ROUND(F.TONS*Pic_Distro*2000*s.stk_lvl_mult)) > 0" +
" Group by " +
" r.PARENT_ITEM_id, D.SC_ID " +
" Order by " +
" D.SC_ID DESC, Stocking_lvl DESC" +
")," +
"R2 as (" +
"select r.Parent_Item_ID, o.SC_ID, " +
"coalesce(sum(avail_wt), 0) as Avail_Wt" +
" from" +
" open_inv_tbl O" +
" left join item_tbl I on (i.item_ID = o.ITEM_ID)" +
" left join parent_item_tbl R on (r.PARENT_ITEM_id = i.PARENT_ITEM_id)" +
" Where r.Parent_item_ID is not null" +
" Group by r.Parent_Item_ID,o.SC_ID)" +
"select " +
" r1.PARENT_ITEM_id, " +
" R1.SC_ID, R1.Stocking_Lvl , " +
" coalesce(R2.Avail_wt, 0 ) as Avail_Wt, " +
" coalesce(R2.Avail_wt/R1.Stocking_Lvl, 0) as Precantage" +
" From R1" +
" left join R2 on (R1.parent_item_id = R2.parent_item_id and R1.Sc_ID = R2.Sc_ID) " +
" Where R1.Stocking_lvl > '0' " +
" Order by SC_id Desc, Stocking_Lvl Desc)" )
cur.arraysize = 2000
cur.execute(statement)
oracle cte 内存,执行Oracle CTE相关推荐
- oracle服务器内存建议,Oracle内存分配建议
关于SGA设置的一点总结 本总结不针对特例,仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑 写这个也是因为近来这种重复性的问题发生的太多所导致的 首先不要迷信STS,SG,O ...
- oracle共享内存不足,Oracle数据库共享内存分配不足怎么办
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Oracle数据库中,共享内存分配不足时,因为没有有效的利用保留区,就会造成无法分配合适的共享区的问题.cuug总结,一个ORACLE例程的系统全局区域( ...
- oracle月末才执行,oracle 月初月末的时间处理
Oracle 常用时间处理: -- 当前日期 SELECT TO_CHAR(ADD_MONTHS(SYSDATE, 0), 'yyyy-MM-dd') PRETODAY FROM DUAL -- 上月 ...
- oracle放在内存里,oracle如中何把小表钉住在内存中
buffer_pool_defualt buffer_pool_keep buffer_pool_recycle 如果要把表钉死在内存中,也就是把表钉在keep区. 相关的命令为: alter tab ...
- oracle ora 12011,执行oracle中的job报错:ORA-12011:无法执行作业1
LZ在做一个job执行每天新增一个表的操作时,存储过程运行没问题,job也创建成功,但运行job时,却报错: ,后又用sys用户登陆创建了同样的存储过程和job,结果可以执行成功.当时就猜测是权限问题 ...
- oracle sga 内存不够,Oracle SGA内存参数及调整
对于SGA,可以用sqlplus查询: SQL>select * from v$sga; Fixed Size Variable Size 包含了shared_pool_size.java_po ...
- 在Oracle 11g中用看Oracle的共享内存段---------IPCS
很早之前,在一次讲课了,用了命令ipcs,发现oracle的共享内段好小,如下: oracle@mydb ~]$ ipcs -a------ Shared Memory Segments ------ ...
- ORACLE数据库查看执行计划
基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分 ...
- oracle execute immediate执行多条语句_用数据库的方式思考SQL是如何执行的
私信我或关注微信号:猿来如此呀,回复:学习,获取免费学习资源包. 今天我们就从数据库的角度来思考一下 SQL 是如何被执行的. 关于今天的内容,你会从以下几个方面进行学习: Oracle 中的 SQL ...
最新文章
- hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(3)http://www.cnblogs.com/liugh/p/6624491.html
- swift学习笔记-----swift中的指针
- 使用Spring AspectJ和Maven进行面向方面的编程
- SSM+easyUI(框架的搭建)
- Socket相关操作超时
- 你是否为类编写接口?我乞求你停下!
- throw与throws
- win11休眠选项在哪 Windows11没有休眠选项的解决方法
- Atitit 知识聚合的方法大总结 目录 1. 什么是聚合 汇聚	1 2. 聚合化应用场景	2 2.1. 一站式	2 3. 知识聚合的历史与趋势
- Julia : The Power Sum的算法
- 能力提升综合题单 Part 8.8 二分图
- MAXON RE40直流有刷电机在Elmo SimplIQ cello系列驱动器的增益调节
- 金蝶套打文件放服务器还是本地,金蝶软件套打使用说明
- 基于Spark的电影推荐系统(毕业设计)
- 手机电子书分享:大前研一经典《专业主义》
- word 2010中页码从任意页开始
- [HOJ1864]Fibonacci
- 大友克洋机器人嘉年华_大友克洋
- 联通宽带拨号开机自动连接
- Python读写超大文件