Hi Tom,
[I realized that this topic was opened as reply to an old question, so I opened a separate one.]I have the following piece of code:
merge /*+ WITH_PLSQL */ into test a
using (
with function to_upper(val varchar2) return varchar2 is
begin
return upper(val);
end;
select to_upper(c2) as c2 from test
) b
on (upper(a.c1) = b.c2)
when matched then
update set a.c3 = upper(a.c1)
Especially I didn't put any ending char in the end (neither ";", nor "/").
The script works very nice only when I am ending it with "/".
When I end the script with ";", I receive the following error: ORA-00933: SQL command not properly ended
In order to pass over compilation, I can use a dynamic SQL but I want to compile it into a procedure.
At your advice, I tried to check the sqlterminator character but I receive the P2-0735: unknown SHOW option beginning "sqltermina..." error. When I am trying to set it says it is obsolete.
I don't understand why for other pieces of code it works to compile but for this, it doesn't.
Thank you,
Ionut.
Thanks for logging a new question - in the review I could not tell you were in SQL Developer. (SQL Plus has the 'sqlterminator' setting)
This looks like a bug to me. I'll log one with the SQL Dev team.
Only workaround I can see is to remove the final semicolon