为什么“From”被视为处于错误的位置?
我必须在查询中将双引号更改为单引号,以便在从Delphi移植到C#时将查询字符串在IDE中编译。
IOW,这样的SQL,可以在Delphi和Toad中运行:
@"SELECT R.INTERLOPERABCID "ABCID",R.INTERLOPERID "CRID", . . .
...我必须将其更改为此,以便在Visual Studio中进行编译:
@"SELECT R.INTERLOPERABCID 'ABCID',R.INTERLOPERID 'CRID', . . .
然而,SQL不会以这种方式运行 - 我得到“ORA-00923:FROM关键字未找到预期的地方”错误消息(在Toad和尝试在C#应用程序中执行SQL时)。
如何才能将其编译并运行?
答案 0 :(得分:5)
列别名周围的引号会让它感到胃灼热。
看来,在原始情况下,整个查询都被双引号括起来,并且列别名周围的双引号会与那些混乱。
在第二种情况下,Oracle将单引号列别名解释为字符串,将其抛弃。
在Oracle中,您不应该也需要:您应该只能编写代码:
@"SELECT R.INTERLOPERABCID ABCID,R.INTERLOPERID CRID, . . .
或使用可选的AS
关键字:
@"SELECT R.INTERLOPERABCID AS ABCID,R.INTERLOPERID AS CRID, . . .
希望这有帮助。
答案 1 :(得分:1)
如果您在查询中有内联评论
,通常无法正常工作