System Functions (Information)
Returns a reference to an object (a table, view, or function). When you execute SQL actions on a reference to an object, the actions are performed using the role of the user who created the reference.
- See also:
SYSTEM$REFERENCE('<object_type>', '<object_identifier>', [ , <reference_scope> [ , '<privilege>' [ , '<privilege>' ... ] ] ] )
Type of the object. You can specify one of the following values:
Identifier for the object. If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case-sensitive.
For more details about identifiers, see Identifier requirements.
Specifies the scope of the reference.
CALLor omitted, specifies that the reference is valid within the context in which it was created. See Specifying the Scope of the Reference.
SESSION, specifies that the reference should be valid for the duration for the session.
PERSISTENT, specifies that the reference should be valid until the object is dropped. See persistent references.
Note: If you need to specify the
reference_scopeargument is required.
Additional privilege that is needed to perform an SQL action on the object.
For example, suppose that you are passing the reference for a table to a stored procedure that inserts rows into that table. Specify
'INSERT'to confer the INSERT privilege on that table to the stored procedure.
For a list of supported objects and privileges, see Supported object types and privileges for references.
To specify more than one additional privilege, pass each privilege name as an additional argument to the function. For example, to confer the INSERT, UPDATE, and TRUNCATE privileges:
CALL myprocedure( SYSTEM$REFERENCE('TABLE', 'table_with_different_owner', 'SESSION', 'INSERT'. 'UPDATE', 'TRUNCATE'));
Note that you cannot specify OWNERSHIP or ALL as privileges.
A serialized string representation of the reference that can be used as an identifier.