System naming convention expanded to permit (slash) and (dot) qualifiers
Historically, system naming qualification of names required a slash (/) between the schema-name and the SQL identifier.
Now, when using system naming, both the slash (/) and dot (.) can be used for object qualification. This change makes it possible to qualify objects such as functions or sequences in a query. It also makes it easier to adapt an application to system naming, as the SQL statement text doesn’t need to be updated.
This enhancement does not affect the difference in qualifying unqualified object references that exists when using *SYS or *SQL naming. For example, an unqualified table in *SYS naming will still use the library list, while an unqualified table in *SQL naming uses the authorization ID of the statement.
The following example works when using NAMING(*SYS), but fails when using NAMING(*SQL)
Message ID . . . . . . : SQL5016 Severity . . . . . . . : 30
Message type . . . . . : Diagnostic
Date sent . . . . . . : 08/20/12 Time sent . . . . . . : 17:02:24
Message . . . . : Qualified object name SYSDUMMY1 not valid.
Cause . . . . . : One of the following has occurred:
-- The syntax used for the qualified object name is not valid for the
naming option specified. With system naming, the qualified form of an
object name is schema-name/object-name. With SQL naming the qualified form
of an object name is authorization-name.object-name.
Was this topic helpful?
14 January 2020