IDT中的查询无效,但UDT中的查询无效

2020-09-09 21:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个带有子查询的查询,该查询将在SQL Developer中正确执行。 出于某种原因,在IDT中运行相同的查询将生成无效查询[ORA-009000]错误。

我尝试了三种在IDT中表示查询的方式。

1)作为过滤器对象(在业务层中):

 CMS_FOLDER.SNAPSHOT_ID =
 (
 SELECT最大值(SNAPSHOT_ID)
 来自EYE_SNAPSHOT
 SNAPSHOT_NAME ='CMS'
 AND SNAPSHOT_RESULT ='1'
 )

2)作为CMS_FOLDER表(在数据基础中)的过滤器:

 CMS_FOLDER.SNAPSHOT_ID =
 (
 SELECT最大值(SNAPSHOT_ID)
 来自EYE_SNAPSHOT
 SNAPSHOT_NAME ='CMS'
 AND SNAPSHOT_RESULT ='1'
 )

3)作为派生表(在数据基础中):

选择*
 来自CMS_FOLDER
 哪里
 (
   CMS_FOLDER.SNAPSHOT_ID =
   (
     SELECT最大值(SNAPSHOT_ID)
     来自EYE_SNAPSHOT
     SNAPSHOT_NAME ='CMS'
     AND SNAPSHOT_RESULT ='1'
   )
 )

奇怪的是,派生表选项在UDT中可以正常工作。

IDT中的数据基础标记为 ANSI92 =是

IDT有什么问题?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个带有子查询的查询,该查询将在SQL Developer中正确执行。 出于某种原因,在IDT中运行相同的查询将生成无效查询[ORA-009000]错误。

我尝试了三种在IDT中表示查询的方式。

1)作为过滤器对象(在业务层中):

 CMS_FOLDER.SNAPSHOT_ID =
 (
 SELECT最大值(SNAPSHOT_ID)
 来自EYE_SNAPSHOT
 SNAPSHOT_NAME ='CMS'
 AND SNAPSHOT_RESULT ='1'
 )

2)作为CMS_FOLDER表(在数据基础中)的过滤器:

 CMS_FOLDER.SNAPSHOT_ID =
 (
 SELECT最大值(SNAPSHOT_ID)
 来自EYE_SNAPSHOT
 SNAPSHOT_NAME ='CMS'
 AND SNAPSHOT_RESULT ='1'
 )

3)作为派生表(在数据基础中):

选择*
 来自CMS_FOLDER
 哪里
 (
   CMS_FOLDER.SNAPSHOT_ID =
   (
     SELECT最大值(SNAPSHOT_ID)
     来自EYE_SNAPSHOT
     SNAPSHOT_NAME ='CMS'
     AND SNAPSHOT_RESULT ='1'
   )
 )

奇怪的是,派生表选项在UDT中可以正常工作。

IDT中的数据基础标记为 ANSI92 =是

IDT有什么问题?

付费偷看设置
发送
6条回答
Climb_Ma
1楼-- · 2020-09-09 21:21

我创建了一个新的数据基础,添加了表和过滤器,并且能够看到表的值。 顺便说一句,ANSI92设置无效。

1)DF损坏,或者2)IDT中存在错误。 我猜想#2更有可能。

樱桃小丸子0093
2楼-- · 2020-09-09 21:40

ORA-00900是无效的SQL错误,因此它一定做得不好。 解析对象或创建查询时遇到此错误? 如果创建查询时,请检查整个生成的SQL语句的外观,这可能有助于了解情况。

SC_Yao
3楼-- · 2020-09-09 21:25

剪切和粘贴SQL文本时,有时它们包含 隐藏的字符(CR,LF)。

因此,请尝试在一行中编写SQL,以确保其中不包含任何字符(CR,LF)。

还请确保该字符 '是正确的(复制和粘贴时已更改)。

CJones
4楼-- · 2020-09-09 21:26

我在IDT中创建DT时解析了SQL,没有错误。 我也解析了过滤器-没有错误。

在每种情况下,完整查询看起来都像#3。

哎,真难
5楼-- · 2020-09-09 21:42

嗨,克雷格,

而不是在外部查询中使用*(星号),而是列出

谢谢,
Mahboob Mohammed

选择Col1,Col2,Col3,... ColN
  来自CMS_FOLDER
 哪里(
   CMS_FOLDER.SNAPSHOT_ID =(SELECTMax(SNAPSHOT_ID)FROM EYE_SNAPSHOT
     SNAPSHOT_NAME ='CMS'AND SNAPSHOT_RESULT ='1')))
Cikesha
6楼-- · 2020-09-09 21:39

我倾向于同意您的观点,但是我从同一来源复制了相同的查询。 该查询在一个DF中有效,但在另一个DF中则无效。

无论如何,我都尝试了您的建议,但没有效果。

一周热门 更多>