Oracle Error PLS-00707 trying to compile a store procedure using a call to sde.st_intersects.

10751
2
Jump to solution
09-20-2015 10:07 PM
marceloctorres
Esri Contributor

Hello,

When I try to execute the following PL-SQL code I have right results:

Captura_1.JPG

But when I try to compile a store-procedure using a similar code I get a compilation error:

Captura_2.JPG

What I have to do to fix this error?

Marcelo...

Marcelo César Torres
0 Kudos
1 Solution

Accepted Solutions
GuillermoMarinez1
New Contributor

Hi Marcelo

you must use this reference of intersect operation in PLSQL code: "sde.st_relation_operators.st_intersects_f"

this is because PL/SQL requieres referencing the underlying functions by fully qualifying their appropiate package and function name.

look this link:

36094 - Leverage st_geometry operators in Oracle's PL/SQL

View solution in original post

2 Replies
GuillermoMarinez1
New Contributor

Hi Marcelo

you must use this reference of intersect operation in PLSQL code: "sde.st_relation_operators.st_intersects_f"

this is because PL/SQL requieres referencing the underlying functions by fully qualifying their appropiate package and function name.

look this link:

36094 - Leverage st_geometry operators in Oracle's PL/SQL

MarceloMarques
Esri Regular Contributor

To BottomTo Bottom


In this Document

Symptoms
Cause
Solution

APPLIES TO:

Oracle SQL Developer - Version 3.2 and later
Information in this document applies to any platform.

SYMPTOMS

sql developer version: 3.2.20.09
Database version: 11.2.0.3

Attempting to compile Function/Prucedure/Package in SQL Developer throws the following error:

PLS-00707: unsupported construct or internal error [2603]

This issue is not occuring in sqlplus. This issue occurs only for the 11g/11gr2 Database on SQL Developer.

CAUSE

It seems to be caused by the  parameter PL/SCOPE variable when it uses the value "IDENTIFIERS:ALL".
SQL Developer during connection establishing changes the session parameter PLSCOPE_SETTINGS from IDENTIFIERS:NONE (default) to IDENTIFIERS:ALL.
Same error was received in SQL PLUS when issuing an "alter session set PLSCOPE_SETTINGS=IDENTIFIERS:ALL".

More about PL/Scope can be found here:
http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_plscope.htm
http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams178.htm

SOLUTION

1. Go to Preferences in SQL Developer.
2. Then go to Tools -> Preferences -> Database -> PL/SQL Compiler
3. Change the "PLScope identifiers" from All to None
4. Restart the SQL Developer.

| Marcelo Marques | Principal Product Engineer | Esri |
| Cloud & Database Administrator | OCP - Oracle Certified Professional |
I work with Enterprise Geodatabases since 1997.
“ I do not fear computers. I fear the lack of them." Isaac Isimov