Toad World® Forums

syntax error with select xmlelement


#1

I have procedure in package with following code wich gives syntax error check:
[Error] Syntax check (9: 62): ERROR line 9, col 62, ending_line 9, ending_col 70, Found ‘el_rl_all’, Expecting: ) -or- , -or- AS -or- OR -or- AND -or- BETWEEN IN LIKE LIKE2 LIKE4 LIKEC MEMBER SUBMULTISET -or- -or- ! != < <= <> = > >= ^ ^= IS NOT -or- + - || -or- * / MOD REMAINDER -or- ** -or- ( (+) AT DAY MULTISET YEAR -or- % . [ -or- FROM IGNORE KEEP OVER RESPECT WITHIN

Looks like parser bug because it compile on sql*plus.

Error is on xmlelement select with column alias

Look at attachment for example code:

toadtesting.prc (642 Bytes)


#2

If you put ‘AS’ before the aliases then this parses ok.

I had a similar problem (not Toad related) with long element names in certain circumstances and had to use

XMLFOREST (l_var AS “THIS_IS_OVER_30_CHARACTERS_LONG”)

But I would have thought that if oracle thinks your procedure is fine then Toad should too!?


#3

Thanks i found that too but not al developers put ‘AS’ or don’t use an alias. I think it’s u bug in TOAD. If i have multiple procedures in a package then the “Schema browser” doesn’t show all procedures in the body.


#4

Hello,

Will you send me an example of a package that does not show up right in the
schema browser?

Thank you,

-John


#5

Hi john,

Check my attached files.
In the spec i see both procedures but i the body only 1.

Greetings,

Herbert
TOAD_TEST_PKG.pkb (1.3 KB)


#6

Hi john,

Check my attached files.
In the spec i see both procedures but i the body only 1.

Greetings,

Herbert
TOAD_TEST_PKG.pks (129 Bytes)


#7

I passed the information along to Andre, our parser developer. This is what
he said:

Hi John,

The problem is that Oracle documents that aliases should be preceded by the
keyword AS. But the Oracle engine apparently doesn’t require it.

We’ll fix that asap. (you can answer that if you want)

Thanks,

Andre
image001.png


#8

Actually – aliases have always been optional – and somewhere around
9i or 10g – you can use IS or AS for aliases interchangably ……
image001.png