As noted in the documentation, the SQL*Plus execute
command normally has to be entered on one line:
If your EXECUTE command cannot fit on one line because of the PL/SQL statement, use the SQL*Plus continuation character (a hyphen).
What it's actually trying to run under the hood is a translation as
BEGIN
SDO_NET.CREATE_LRS_NETWORK(;
END;
/
... which is (maybe obviously when written like that) not valid PL/SQL. Nothing to do with the spatial call per se. If you do want to split it onto multiple lines, you can just use an explicit begin
/end
rather than the shorthand exec
.
The second problem maybe suggests that you've run the short version more than once, though it isn't a feature I'm very familiar with; but is not related to the initial semi-colon error. (Also, a semi-colon isn't strictly needed to end a SQL statement, but that's a detail for another time...).