Oracle分析内部游标
我想知道为什么我在Oracle表单中的“游标”中的“分析”行会生成错误。它是这样写的:Oracle分析内部游标,oracle,plsql,cursor,analytics,Oracle,Plsql,Cursor,Analytics,我想知道为什么我在Oracle表单中的“游标”中的“分析”行会生成错误。它是这样写的: CURSOR READ_C1_REC IS SELECT DISTINCT MACH, TCODE, COUNT(ALL TRANS_NO) OVER (PARTITION BY MACH, TCODE ORDER BY MACH, TCODE) TOTALPERMACHPERTCODE FROM ( SELECT .... )
CURSOR READ_C1_REC IS
SELECT DISTINCT MACH, TCODE,
COUNT(ALL TRANS_NO) OVER (PARTITION BY MACH,
TCODE ORDER BY MACH, TCODE) TOTALPERMACHPERTCODE
FROM
(
SELECT ....
)
ORDER BY MACH, TCODE;
C1_REC READ_C1_REC%ROWTYPE;
…这是编译过程中的错误消息:
Error 103 at line 17, column 29
Encountered the symbol "(" when expecting one of the following:
, from
…错误指向分析中“结束”一词后的部分
我的代码可能有什么问题?是否允许在“游标”内进行分析
:)可以在表单中使用的SQL十多年来一直没有进步。
动态SQL是最好的答案。我想你应该看看你可以在表单中使用的SQL在过去的十年里没有进步。 动态SQL是最好的答案。我认为您应该看看Oracle Forms有(或至少有一段时间有)自己的PL/SQL引擎,就其支持的功能而言,这通常落后于数据库产品。可能是您的表单版本有一个PL/SQL引擎,它早于分析函数的引入 你说过你不能创建视图;你能创建包吗?如果是这样的话,也许您可以将代码移动到一个包中,并从表单中调用它。Oracle Forms有(或至少有一段时间有)自己的PL/SQL引擎,而这在其支持的功能方面通常落后于数据库产品。可能是您的表单版本有一个PL/SQL引擎,它早于分析函数的引入
你说过你不能创建视图;你能创建包吗?如果是这样,也许您可以将代码移动到一个包中,并从表单中调用它。是的,除非您使用Oracle 8,否则它是允许的。你使用什么oracle版本?哦,我知道了,你使用的是oracle表单。而不是服务器端PL/SQL。也许你可以定义一个视图并从该视图中选择?嗨,西奥,谢谢你的建议。关于创建“视图”,我没有创建视图的特权。在这种情况下,还有其他可能的解决方案吗?:)你确定这是正确的语法吗?select语句是否在SQL PLUS中运行?为什么您没有创建视图的权限?和你的DBA谈谈。您应该拥有自己的具有高级权限的开发数据库。视图不会杀死幼儿。是的,除非您使用Oracle 8,否则视图是允许的。你使用什么oracle版本?哦,我知道了,你使用的是oracle表单。而不是服务器端PL/SQL。也许你可以定义一个视图并从该视图中选择?嗨,西奥,谢谢你的建议。关于创建“视图”,我没有创建视图的特权。在这种情况下,还有其他可能的解决方案吗?:)你确定这是正确的语法吗?select语句是否在SQL PLUS中运行?为什么您没有创建视图的权限?和你的DBA谈谈。您应该拥有自己的具有高级权限的开发数据库。观点不会杀死蹒跚学步的孩子。