PL/SQL, resources for developers 17
PL/SQL, security 919—980
PL/SQL, semicolon (;), terminating statements and declarations 74
PL/SQL, SQL in, data retrieval 463—512
PL/SQL, SQL in, DML and transaction management 439—461
PL/SQL, SQL in, dynamic SQL and PL/SQL 513—562
PL/SQL, versions xxxiv 11
PLSQL_CCFLAGS compile parameter 1000
PLSQL_CCFLAGS parameter 1003
PLS_INTEGER datatype 171 237
PLS_INTEGER datatype, subtypes 247
PLS_INTEGER datatype, using for intensive integer computations 871
PLUTO testing framework 752
Pointers 463 see "Cursors"
Pointers, LOB locators 403
Pointers, object references (REFs) 1095
Pointers, similarity of ROWIDs to 398
Policies (FGA) 974
Policies (RLS) 947
Policies (RLS), context-sensitive policy 956
Policies (RLS), creating 949
Policies (RLS), dropping 951
Policies (RLS), dynamic 953
Policies (RLS), shared context-sensitive policy 957
Policies (RLS), shared static policy 955
Policies (RLS), upgrade strategy for policy types 957
Policies (RLS), viewing policies defined on a table 951
Policy function 947
Policy function, errors in 961
Policy function, RLS example 949
Policy function, rules for 950
Polymorphism 596
Portability, application 5
Positional notation, associating actual and formal parameters 585
POST method (HTTP) 909
Postprocessed code 1008
PRAGMA keyword 76
Pragmas, AUTONOMOUS_TRANSACTION 455
Pragmas, types of pragmas in PL/SQL 76
Precision, datetime variables 270
Precision, NUMBER datatype 233
predicates 947
Predicates, contexts as predicates in RLS 967
Predicates, RLS example 949
Predicates, used with BINARY_FLOAT AND BINARY_DOUBLE types 242
Primary keys, emulating with string indexes in collections 369
Primary keys, using ROWIDs instead of 397
PRINT command (SQL*Plus) 33
PRIOR and NEXT functions 341 348
Private code 622
Private code, Booch diagram showing private package elements 623
Private key 923
Privilege escalation and SQL injection 995
Privileges for schema-level collections 393
Privileges, CREATE ANY DIRECTORY 879
Privileges, granting and removing for stored programs 43
Privileges, listing with DDL trigger attribute functions 680
Privileges, object types 1128
Privileges, rejection of DBMS_SQL operations when effective user changes 560
Privileges, restriction on user schemas to prevent code injection 540
PRNG (Pseudo-Random Number Generator) 932
Pro*C precompiler 47
Procedures 567—571
Procedures, body of 570
Procedures, declared in package specification 625
procedures, defined 566
Procedures, defining in local modules 590
Procedures, END label 570
Procedures, forward declaration 601
Procedures, header 56 569
Procedures, overloading 595
Procedures, parameters 579—590
Procedures, passing cursor variables as arguments in procedure calls 507
Procedures, RETURN statement 571
Procedures, standalone, referencing REF CURSOR type 508
Procedures, USER_PROCEDURES view 716
Profilers 783—788
Profilers, DBMS_HPROF package 16 785
Profilers, DBMS_PROFILER package 784
Program data 167—190
Program data, conversions between datatypes 183—190
Program data, datatypes in PL/SQL 169—175
Program data, declaring 175—182
Program data, defined 167
Program data, naming 167
Program data, programmer-defined subtypes 182
Program Global Area see "PGA"
Programmer-defined exceptions 126
Programmer-defined exceptions, losing information about 146
Programmer-defined records 314 315—318
Programmer-defined records, declaring record TYPEs 316
Programmer-defined records, declaring records 316
Programmer-defined records, examples of declarations 317
Programmer-defined tracing 757
Programming habits, reassessing 22
Programming languages, calling PL/SQL from other languages 46—52
Programming languages, database 4
Programming languages, static and dynamic typing 170
Programs, compiler limits on size of 986
Programs, nested 64
Programs, stored in database, size of 715
Propagation of exceptions 127
Propagation of exceptions, unhandled exceptions 145
Propagation of exceptions, unhandled exceptions, examples of propagation 147
Propagation of exceptions, unhandled exceptions, losing exception information 146
Proxy servers 913
Pseudo-columns, OBJECT_VALUE 1111
Pseudo-columns, ROWID 398
Pseudo-records 326
Pseudo-records, changing names in DML triggers 658
Pseudo-records, PARENT 697
Pseudo-records, using to fine-tune trigger execution 664
PSP (PL/SQL Server Pages) 51
Public code 622
Public code, Booch diagram showing public package elements 623
Public code, global public package data 634
Public key 923
Public Key Cryptography Standard #5 see "PKCS#5"
PVM (PL/SQL Virtual Machine) 983
Qualifying references 59
Qualifying references, labels as aid in 77
Quest Code Tester for Oracle 752
Quest Code Tester for Oracle, testing with 755
Quest CodeGen utility 19
Quest Error Manager (QEM) framework 19
Quest Error Manager (QEM) framework, tracing with 761
queuing 914
Raising exceptions 127 135—138
Raising exceptions, RAISE statement 136
Raising exceptions, RAISE_EXCEPTION_ERROR procedure 137
Random numbers 932
range operator (..) 65
Ranges, numeric FOR loops 110
RAW datatype 173 397
RAW datatype, AQ message IDs 178
RAW datatype, casting to VARCHAR2 412
RAW datatype, converting hexadecimal string from type CHAR or VARCHAR2 to 190
RAW datatype, converting VARCHAR2 value to 927
RAW datatype, UTL_MAIL.SEND_ATTACH_RAW 900
RAWTOHEX function 190
READ COMMITTED isolation level 457
Read consistency and user-defined functions 604
READ procedure (DBMS_LOB) 409
REAL datatype 247
Real numbers 73
Recompiling code, invalid program units 731—735
Record anchoring 177
Records 311—326
Records equal generator 325
Records in cursor RETURN clause 480
| Records, benefits of using 312
Records, collections as components of 335
Records, collections of 371—373
Records, comparing 325
Records, declaring 314
Records, defining your own type 312
Records, fetching into 521
Records, field-level operations 322—324
Records, field-level operations, nested records 323
Records, field-level operations, package-based records 324
Records, programmer-defined 315—318
Records, record-level operations 318—322
Records, record-level operations, fetching directly into a record 320
Records, record-level operations, initializations 319
Records, record-level operations, setting all fields to NULL with direct assignment 321
Records, trigger pseudo-records 326
Records, using with DML statements 447
Records, using with DML statements, record-based inserts 448
Records, using with DML statements, record-based updates 449
Records, using with DML statements, restrictions on inserts and updates 450
Records, using with DML statements, RETURNING clause 449
Recursion 601
Redefinition capability see "Edition-based redefinition"
REF CURSOR datatype 173
REF CURSOR types, compatible rowtype and select list 500
REF CURSOR types, converting to SQL cursor number using DBMS_SQL.TO_CURSOR 556
REF CURSOR types, DBMS_SQL.TO_REFCURSOR function 554
REF CURSOR types, declaring 498
REF CURSOR types, FETCH INTO statements, compatible rowtype 501
REF CURSOR types, identifying for cursor variable used as argument 507
REF CURSOR types, rowtype matching at compile time 504
REF CURSOR types, rowtype matching at runtime 505
REF CURSOR types, strong and weak 499
References, qualifying with scope 59
REFERENCING clause, changing names of pseudo-records in DML triggers 658
REFs (object references) 1095—1102
REFs (object references), better support in C 1100
REFs (object references), dangling REFs 1102
REFs (object references), storing, physical versus virtual REFs 1126
REFs (object references), to nonunique OIDs 1127
REFs (object references), type hierarchies and 1101
REFs (object references), using 1096
REFs (object references), UTL_REF package 1099
REFs (object references), virtual REFs 1120 1122
REGEXP_COUNT function 214 1206
REGEXP_INSTR function 1206
REGEXP_INSTR function, locating a pattern 209
REGEXP_LIKE function 208 1207
REGEXP_REPLACE function 214 1207
REGEXP_SUBSTR function 211 1207
Regular expressions 207—218 1203—1208
Regular expressions, counting matches 214
Regular expressions, detecting a pattern 208
Regular expressions, extracting text matching a pattern 211
Regular expressions, functions and parameters 1206
Regular expressions, greediness in matching and nongreedy quantifiers 216
Regular expressions, locating a pattern 209
regular expressions, metacharacters 1203—1206
Regular expressions, replacing text 214
Regular expressions, resources for information 218
RELIES_ON clause (function result cache) 808 809
RELIES_ON clause (function result cache), using (example) 812
Remote dependencies 727
Remote invocation, limitations of Oracle's model 730
REMOTE_DEPENDENCIES_MODE initialization parameter 728
REPEAT UNTIL loop, emulating 106
Replace function 203 226
Reserved words 68
Reserved words, avoiding incorrect use of 69
Reserved words, information on 990
Resources for PL/SQL developers 17
Resources for PL/SQL developers, books from O'Reilly 17
Resources for PL/SQL developers, online resources 18
RESTRICT_REFERENCES pragma 76
result sets 465
RESULT_CACHE clause 573 808
RESULT_CACHE clause, RELIES_ON subclause 809 812
RESULT_CACHE clause, using with deterministic function (example) 810
RESULT_CACHE clause, when not to use 814
RESULT_CACHE clause, when to use 814
RESULT_CACHE_MAX_SIZE initialization parameter 816
Resumable statements 699
Resumable statements, DBMS_RESUMABLE package 702
RETURN clauses, cursor, datatype structures 480
RETURN clauses, cursor, declaring cursor with RETURN clause 479
RETURN clauses, function 567
RETURN clauses, function, return datatype 573
RETURN clauses, packaged cursors 635
RETURN SELF AS RESULT clause 1081
RETURN statements, functions 578
RETURN statements, functions, as last executable statement 579
RETURN statements, functions, multiple RETURNS 578
RETURN statements, functions, returning any valid expression 578
RETURN statements, use with procedures 571
RETURNING clause, DML statements, using records with 449
RETURNING clause, using in FORALL statement with BULK COLLECT 826
RETURNING clause, using in FORALL statements 831
RETURNING clause, using with DML statements 445
REVERSE keyword 111
REVOKE statements 43
RLS see "Row-level security"
Rollback segment, assigning current transaction to 453
ROLLBACK statements 452
Rollbacks with FORALL statements 833
Rollbacks, considerations in programs performing DML 447
ROUND function 260
rounding functions 260
Row-based merge processing 846
Row-level security (RLS) 920 945—964
Row-level security (RLS), column-sensitive RLS 957—961
Row-level security (RLS), contexts as predicates in 967
Row-level security (RLS), debugging 961
Row-level security (RLS), debugging, direct path operations 962
Row-level security (RLS), debugging, interpreting errors 961
Row-level security (RLS), debugging, viewing SQL statements 963
Row-level security (RLS), dynamic policies 953
Row-level security (RLS), main components 947
Row-level security (RLS), reasons to learn about 947
Row-level security (RLS), simple example 949—952
Row-level triggers 653
ROWID datatype 173 397—400
ROWID datatype, changes in 397
ROWID datatype, converting CHAR or VARCHAR2 values to 187
ROWID datatype, getting ROWIDs 398
ROWID datatype, using ROWIDs 399
ROWIDTOCHAR function 190
ROWTYPE_MISMATCH exception 502
RPAD function 204 226
RR date format element 288
RTRIM function 206 227
SAVE EXCEPTIONS clause (FORALL statement) 829 833
SAVEPOINT statements 452
Savepoints, erasure by COMMIT 451
Savepoints, indicating for ROLLBACK statement 452
Scalar anchoring 177
Scalar datatypes 351
Scalar datatypes, IS NULL test 406
Scalars 167
Scale, NUMBER datatype 233
Schema-level recompilation 733
Scope 58
Scope of compound triggers 671
Scope, cursor object to which cursor variable is assigned 506
Scope, cursor parameters 491
Scope, exceptions 127 134
Scope, local modules 594
Scope, qualified references with scope name 59
Scripts, running from SQL*Plus 30
Search strings, formatting for multilingual IR 1057
Searched CASE statements 93
|