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.