A pragma is a directive to the PL/SQL compiler. Pragmas pass information to the compiler; they are processed at compile time but do not execute. If you include a call to a built-in package in a SQL statement, you must include a RESTRICT REFERENCES pragma in your code. This pragma tells the compiler the purity level (freedom from side effects) of a packaged program. The purity levels available are:
WNDS -- Writes no database state
RNDS -- Reads no database state
WNPS -- Writes no package state
RNPS -- Reads no package state
|
DBMS_LOB Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
COMPARE |
✓ |
✓ |
✓ |
✓ |
|
FILEEXISTS |
✓ |
✓ |
✓ |
✓ |
|
FILEISOPEN |
✓ |
✓ |
✓ |
✓ |
|
GETLENGTH |
✓ |
✓ |
✓ |
✓ |
|
INSTR |
✓ |
✓ |
✓ |
✓ |
|
SUBSTR |
✓ |
✓ |
✓ |
✓ |
|
DBMS_OUTPUT Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
DISABLE |
✓ |
✓ |
|
|
|
ENABLE |
✓ |
✓ |
|
|
|
GET_LINE |
✓ |
✓ |
|
|
|
GET_LINES |
✓ |
✓ |
|
|
|
NEW_LINE |
✓ |
✓ |
|
|
|
PUT |
✓ |
✓ |
|
|
|
PUT_LINE |
✓ |
✓ |
|
|
|
DBMS_PIPE Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
CREATE_PIPE |
✓ |
✓ |
|
|
|
NEXT_ITEM_TYPE |
✓ |
✓ |
|
|
|
PACK_MESSAGE |
✓ |
✓ |
|
|
|
PACK_MESSAGE_RAW |
✓ |
✓ |
|
|
|
PACK_MESSAGE_ROWID |
✓ |
✓ |
|
|
|
PURGE |
✓ |
✓ |
|
|
|
RECEIVE_MESSAGE |
✓ |
✓ |
|
|
|
REMOVE_PIPE |
✓ |
✓ |
|
|
|
RESET_BUFFER |
✓ |
✓ |
|
|
|
SEND_MESSAGE |
✓ |
✓ |
|
|
|
UNIQUE_SESSION_NAME |
✓ |
✓ |
✓ |
|
|
UNPACK_MESSAGE |
✓ |
✓ |
|
|
|
UNPACK_MESSAGE_RAW |
✓ |
✓ |
|
|
|
UNPACK_MESSAGE_ROWID |
✓ |
✓ |
|
|
|
DBMS_ROWID Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
ROWID_BLOCK_NUMBER |
✓ |
✓ |
✓ |
✓ |
|
ROWID_CREATE |
✓ |
✓ |
✓ |
✓ |
|
ROWID_INFO |
✓ |
✓ |
✓ |
✓ |
|
ROWID_OBJECT |
✓ |
✓ |
✓ |
✓ |
|
ROWID_RELATIVE_FNO |
✓ |
✓ |
✓ |
✓ |
|
ROWID_ROW_NUMBER |
✓ |
✓ |
✓ |
✓ |
|
ROWID_TO_ABSOLUTE_FNO |
✓ |
|
✓ |
✓ |
|
ROWID_TO_EXTENDED |
✓ |
|
✓ |
✓ |
|
ROWID_TO_RESTRICTED |
✓ |
✓ |
✓ |
✓ |
|
ROWID_TYPE |
✓ |
✓ |
✓ |
✓ |
|
ROWID_VERIFY |
✓ |
|
✓ |
✓ |
|
DBMS_SESSION Program |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
UNIQUE_SESSION_ID |
✓ |
✓ |
✓ |
|
|
DBMS_SQL Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
BIND_ARRAY |
✓ |
|
|
|
|
BIND_VARIABLE |
✓ |
|
|
|
|
BIND_VARIABLE_CHAR |
✓ |
|
|
|
|
BIND_VARIABLE_RAW |
✓ |
|
|
|
|
BIND_VARIABLE_ROWID |
✓ |
|
|
|
|
CLOSE_CURSOR |
✓ |
✓ |
|
|
|
COLUMN_VALUE |
✓ |
✓ |
|
|
|
COLUMN_VALUE_CHAR |
✓ |
✓ |
|
|
|
COLUMN_VALUE_LONG |
✓ |
✓ |
|
|
|
COLUMN_VALUE_RAW |
✓ |
✓ |
|
|
|
COLUMN_VALUE_ROWID |
✓ |
✓ |
|
|
|
DEFINE_ARRAY |
✓ |
✓ |
|
|
|
DEFINE_COLUMN |
✓ |
✓ |
|
|
|
DEFINE_COLUMN_CHAR |
✓ |
✓ |
|
|
|
DEFINE_COLUMN_LONG |
✓ |
✓ |
|
|
|
DEFINE_COLUMN_RAW |
✓ |
✓ |
|
|
|
DEFINE_COLUMN_ROWID |
✓ |
✓ |
|
|
|
DESCRIBE_COLUMNS |
✓ |
|
|
|
|
EXECUTE_AND_FETCH |
✓ |
|
|
|
|
FETCH_ROWS |
✓ |
|
|
|
|
IS_OPEN |
✓ |
✓ |
|
|
|
LAST_ERROR_POSITION |
✓ |
✓ |
|
|
|
LAST_ROW_COUNT |
✓ |
✓ |
|
|
|
LAST_ROW_ID |
✓ |
✓ |
|
|
|
LAST_SQL_FUNCTION_CODE |
✓ |
✓ |
|
|
|
OPEN_CURSOR |
✓ |
✓ |
|
|
|
VARIABLE_VALUE |
✓ |
✓ |
|
|
|
VARIABLE_VALUE_CHAR |
✓ |
✓ |
|
|
|
VARIABLE_VALUE_RAW |
✓ |
✓ |
|
|
|
VARIABLE_VALUE_ROWID |
✓ |
✓ |
|
|
|
DBMS_STANDARD Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
DELETING |
✓ |
|
✓ |
✓ |
|
INSERTING |
✓ |
|
✓ |
✓ |
|
RAISE_APPLICATION_ERROR |
✓ |
✓ |
✓ |
✓ |
|
UPDATING |
✓ |
|
✓ |
✓ |
|
DBMS_UTILITY Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
DATA_BLOCK_ADDRESS_BLOCK |
✓ |
✓ |
✓ |
✓ |
|
DATA_BLOCK_ADDRESS_FILE |
✓ |
✓ |
✓ |
✓ |
|
GET_HASH_VALUE |
✓ |
✓ |
✓ |
✓ |
|
MAKE_DATA_BLOCK_ADDRESS |
✓ |
✓ |
✓ |
✓ |
|
PORT_STRING |
✓ |
✓ |
✓ |
✓ |
|
UTL_RAW Programs |
WNDS |
RNDS |
WNPS |
RNPS |
|---|---|---|---|---|
|
BIT_AND |
✓ |
✓ |
✓ |
✓ |
|
BIT_COMPLEMENT |
✓ |
✓ |
✓ |
✓ |
|
BIT_OR |
✓ |
✓ |
✓ |
✓ |
|
BIT_XOR |
✓ |
✓ |
✓ |
✓ |
|
CAST_TO_RAW |
✓ |
✓ |
✓ |
✓ |
|
CAST_TO_VARCHAR2 |
✓ |
✓ |
✓ |
✓ |
|
COMPARE |
✓ |
✓ |
✓ |
✓ |
|
CONCAT |
✓ |
✓ |
✓ |
✓ |
|
CONVERT |
✓ |
✓ |
✓ |
✓ |
|
COPIES |
✓ |
✓ |
✓ |
✓ |
|
LENGTH |
✓ |
✓ |
✓ |
✓ |
|
OVERLAY |
✓ |
✓ |
✓ |
✓ |
|
REVERSE |
✓ |
✓ |
✓ |
✓ |
|
SUBSTR |
✓ |
✓ |
✓ |
✓ |
|
TRANSLATE |
✓ |
✓ |
✓ |
✓ |
|
TRANSLITERATE |
✓ |
✓ |
✓ |
✓ |
|
XRANGE |
✓ |
✓ |
✓ |
✓ |
Copyright (c) 2000 O'Reilly & Associates. All rights reserved.