! (exclamation mark), != (not equal) operator 65 259 387
! (exclamation mark), != (not equal) operator, testing nested tables 389
! (exclamation mark), user-defined string literal delimiter 70
# (hash sign) in identifiers 66
$ (dollar sign) in identifiers 66
$identifier syntax for inquiry directive 1000
$ERROR directive 1005
$IF directive 999 1004
% (percent sign) in cursor attribute names 468
% (percent sign), attribute indicator 65
% (percent sign), wildcard symbol in LIKE condition 65
%BULK_EXCEPTIONS attribute 470
%BULK_ROWCOUNT attribute 470
%FOUND attribute 468
%FOUND attribute, using with explicit cursors 487
%ISOPEN attribute 469
%ISOPEN attribute, using with explicit cursors 487
%NOTFOUND attribute 469
%NOTFOUND attribute, using with explicit cursors 487
%ROWCOUNT attribute 469
%ROWCOUNT attribute, using with explicit cursors 487
%ROWTYPE attribute 173
%ROWTYPE attribute, anchoring to cursors and tables 179
%ROWTYPE attribute, packaged cursors 637
%ROWTYPE attribute, use in record declarations 314
%ROWTYPE attribute, using in record anchoring 177
%TYPE attribute 177
%TYPE attribute, anchoring to NOT NULL datatypes 182
& (ampersand), data structure names enclosed in 168
& (ampersand), inside string literals 73
& (ampersand), problems with, executing PL/SQL code in SQL'Plus 196
& (ampersand), referring to SQL'Plus variables 33
& (ampersand), surrounding identifiers 67
'' (quotation marks, single) in string constants 195
'' (quotation marks, single), embedding inside literal strings 72
'' (quotation marks, single), indicating null strings 71
'' (quotation marks, single), SQL'Plus variables used as literal strings 33
() (parentheses), as string literal delimiters 73
() (parentheses), functions without parameters 576
* (asterisk), ** (exponentiation) operator 65 259
* (asterisk), multiplication operator 259
+ (plus sign), addition operator 259
+ (plus sign), identity operator 259
- (hyphen), -- (double hyphen) delimiting single-line comments 65 75
- (minus sign), negation operator 259
- (minus sign), subtraction operator 259
. (dot), .. (range) operator 65
. (dot), component selector xxxiv
. (dot), dot notation component selector 115 322
. (dot), dot notation for fields in nested records 323
. (dot), dot notation referencing package elements 620 632
... (ellipses) in syntax descriptions xxxiv
/ (slash), /**/ multiline comment block delimiters 65
/ (slash), division operator 259
/ (slash), following CREATE TYPE statement 354
: (colon), := (assignment) operator 65 176
: (colon), := (assignment) operator, assigning values to a collection 360
: (colon), := (assignment) operator, storing string constant in a variable 196
: (colon), host variable indicator 65
; (semicolon), placing only after END IF keywords in IF statements 87
; (semicolon), terminating declarations and statements 65 74
< > (angle brackets), < (less than) operator 259
< > (angle brackets), <%= %>, embedding PL/SQL into HTML page 51
< > (angle brackets), << >> » label delimiters 65 98
< > (angle brackets), <= (less than or equal to) operator 65 259
< > (angle brackets), <> (not equal) operator 65 259 387
< > (angle brackets), > (greater than) operator 259
< > (angle brackets), >= (greater than or equal to) operator 65 259
= (equals sign), => association operator 65 585
= (equals sign), => association operator, using for named notation 586
= (equals sign), equality operator 259 387
= (equals sign), equality operator, testing nested tables for equality 389
? (question mark), nongreedy quantifiers in regular expressions 217
@ (at sign), SQL*Plus at-sign command 30
@ (at-sign), remote location indicator 65
ABORT procedure (DBMS_RESUMABLE) 702
Abstract datatypes 169
ACLs (access control lists) 430 893
Actual and formal parameters 581
Actual and formal parameters, association in PL/SQL 585—589
Ada xxvii 987
Ada, DIANA (Distributed Intermediate Annotated Notation for Ada) 981
ADD_MONTHS function 300
Advanced Encryption Standard (AES) 924
Advanced Queuing (AQ) 178 634
AFTER GRANT triggers 680
AFTER SUSPEND triggers 697—704
AFTER SUSPEND triggers, aborting unfixable statements using DBMS_RESUMABLE 702
AFTER SUSPEND triggers, downsides to using 704
AFTER SUSPEND triggers, example of 700
AFTER SUSPEND triggers, ORA_SPACE_ERROR_INFO function 701
AFTER SUSPEND triggers, setting up 698
AFTER SUSPEND triggers, trapped multiple times 703
AFTER triggers 653
Aggregate assignments in record-level operations 320
Aggregate assignments, entire collection contents to another collection 360
alerts 914
Algorithms (encryption) 921 923
Algorithms (encryption), AES (Advanced Encryption Standard) 924 927
Algorithms (encryption), DBMS_CRYPTO algorithm constants 925
Algorithms (encryption), DES (Data Encryption Standard) 924
Algorithms (encryption), Triple DES (DES3) 924
ALL_* views 711
ALL_DEPENDENCIES view 719
ALL_IDENTIFIERS view, PL/Scope information in 15
ALL_OBJECTS_AE view 778
ALL_SOURCE view 719
ALTER command, enabling compile-time warnings 737
ALTER INDEX statements 673
ALTER SESSION...SIGNATURE command 728
ALTER TRIGGER command 705
ALTER TYPE command 354 1093—1095
ALTER...COMPILE recompilation 733
Anchored datatypes 351
Anchored declarations 177
Anchored declarations, anchoring to cursors and tables 179
Anchored declarations, benefits of 180
AND operator, exception handler for multiple exceptions 144
AND operator, short-circuit evaluation in IF statements 89
Anonymous blocks 53 54
Anonymous blocks, general syntax 55
Anonymous blocks, labeling 77
Anonymous blocks, nested 57
Anonymous blocks, uses of 56
Anonymous exceptions 127
ANSI/ISO standards for date and timestamp literal format 292
ANY keyword 613
ANY types 431—435 1102
ANY types, creating a transient type 1105
ANY types, resources for information 435
ANYDATA type 174 432 1103—1105
ANYDATASET type 174 432 1103
ANYTYPE type 174 432 1102
ANYTYPE type, creating transient type 1105
Application contexts 920 964—972
Application contexts, contexts as predicates in RLS 967
Application contexts, creating and setting 965
Application contexts, identifying non-database users 970
Application contexts, security in 966
application security 919—980
Application security, application contexts 964—972
Application security, encryption 921—945
Application security, fine-grained auditing (FGA) 972—980
Application security, row-level security (RLS) 945—964
Application security, security overview 919
AQ (Advanced Queuing) 178 634
Architecture of PL/SQL 981—1030
Architecture of PL/SQL, conditional compilation 998—1009
Architecture of PL/SQL, default packages 987
Architecture of PL/SQL, DIANA 981
| Architecture of PL/SQL, execution authority models 990—998
Architecture of PL/SQL, native compilation 1027
Architecture of PL/SQL, Oracle execution of PL/SQL code 982
Architecture of PL/SQL, PL/SQL and databse instance memory 1009—1027
Arguments 581 see
Arguments, information about 717
Array fetches, tuning pipelined functions with 843
Arrays 327 see "Collections" "VARRAYs"
Arrays, collection 329
Arrays, multidimensional, creating with collections of collections 329
Arrays, multidimensional, emulation with unnamed multilevel collections 376
Arrays, nonsequential arrays with FORALL statements 835
ASCII function 198 222
ASCII, US7ASCII character set 64
ASCIISTR function 222 1039
Assignment in record-level operations 319
Assignment of entire collection contents to another collection 360
Assignment operator (:=) 65 176
Assignment operator (:=), assigning values to a collection 360
Assignment operator (:=), storing string constant in a variable 196
Assignment, rows from relational table to a collection 361
ASSM (Automatic Segment Space Management) 416
Association operator (=>) 65
associative arrays 331
Associative arrays, assigning data to, specifying index value for 360
Associative arrays, collection using 331
Associative arrays, comparison to other collection types 340
Associative arrays, declaring associative array collection type 351
Asymmetric encryption 923
Attribute-level comparison 1110 1112
Audit trail 972
Audit trail, checking 977
Auditing see "Fine-grained auditing"
Authentication, external, captured in FGA 978
Authentication, MACs (method authentication codes) 940
Authentication, operating system 34
Authentication, proxy server requiring authentication 913
Authentication, using HTTP username and password 906
AUTHID clause 6
AUTHID clause in package specification 625
AUTHID clause, AUTHID CURRENTJJSER 996
AUTHID clause, AUTHID DEFINER 996
AUTHID clause, settings for programs 716
Automatic runtime recompilation 732
Autonomous transactions 454—461
Autonomous transactions, building autonomous logging mechanism 459
Autonomous transactions, defining 455
Autonomous transactions, DML triggers as 655 669
Autonomous transactions, rules and restrictions on 456
Autonomous transactions, visibility of 457
Autonomous transactions, when to use 458
AUTONOMOUS_TRANSACTION pragma 76 455
Basic authentication 906
BasicFiles 415 930
BEFORE INSERT triggers 656 665
BEFORE triggers 653
BETWEEN operator 259
BFILE datatype 173 400 410—415
BFILE datatype, accessing BFILEs 412
BFILE datatype, creating BFILE locator 411
BFILE datatype, sending as email attachment 900
BFILE datatype, using BFILEs to load LOB columns 413
BFILENAME function 411
Binary (32-bit) floating-point literals 73
Binary data 173
Binary double (64-bit) floating-point literals 73
binary files see "BFILE datatype"
Binary sort 1050
BINARY type 73
BINARY_FLOAT and BINARY_DOUBLE datatypes 171 241
BINARY_FLOAT and BINARY_DOUBLE datatypes, literals used with 241
BINARY_FLOAT and BINARY_DOUBLE datatypes, performance improvements with 871
BINARY_FLOAT and BINARY_DOUBLE datatypes, performance, NUMBER type versus 243
BINARY_FLOAT and BINARY_DOUBLE datatypes, predicates used with 242
BINARY_INTEGER datatype 239
bind values 973
Bind variables in SQL*Plus 32
Bind variables in SQL*Plus, declaring and displaying with PRINT command 33
Bind variables, reducing memory use with 1015—1018
Bind variables, using in FGA 978
Binding variables 525—529
Binding variables, argument modes 526
Binding variables, duplicate placeholders 527
Binding variables, passing NULL values 528
Binding variables, using bind variables to prevent code injection 541
Binding variables, using instead of concatenation in NDS 538
Blank-padding comparison 220
BLOBs (binary large objects) 173 400 403 see
BLOBs (Binary Large Objects), creating empty BLOBs 406
BLOBs (Binary Large Objects), writing into 408
Block-structured language 57
BLOCKS 53—64
Blocks, anonymous 54
Blocks, exception section 127
Blocks, labeling 77
Blocks, named 56
Blocks, nested 57
Blocks, scope 58
Blocks, visibility of variables 61—64
Body of a function 577
Body of a loop 103
Body of a package 618 622
Body of a package, example implementation 620
Body of a package, rules for construction 626
Body of a procedure 570
Books on PL/SQL programming 17
boolean datatypes 172 395
Boolean expressions 82
Boolean expressions, NULL versus UNKNOWN results 91
Boolean literals 70 73
Boolean values, displaying with DBMS_OUTPUT 875
Boolean variables 73
Boolean variables, using as flags for expression evaluation 85
Boundary (loop) 103
Boundary (loop), simple loops 104
Bounded collections 330
Bugs, avoiding through use of qualifiers 60
BULK COLLECT clause 821—828
BULK COLLECT clause, array fetches with, using to tune pipelined functions 843
BULK COLLECT clause, bulk fetching of multiple columns 825
BULK COLLECT clause, LIMIT clause with, reducing memory usage 1021
BULK COLLECT clause, limiting rows retrieved 824
Bulk processing for multirow SQL 820—838
Bulk processing for multirow SQL, DML using FORALL statement 828—838
Bulk processing for multirow SQL, querying using BULK COLLECT 821—828
Bulk processing, defined 466
Bytecode 1027
C language 48 see
C language, calling PL/SQL function from 47
C language, support for REFs 1100
Caching 799—820
Caching, deterministic functions 805
Caching, function result cache 807
Caching, function results see "Function result cache"
Caching, package-based 800—805
Caching, recommendations for data caching 819
Caching, static session data 629 649
Caching, types available to PL/SQL developers 649
Calculated or virtual columns 484
Calendar (ISO) 1216
Call Global Area (CGA) 1010
CALL statements 983
Cardinality for pipelined table functions 853—859
CASCADE option (ALTER TYPE) 354
Case in strings 199
Case in strings, capitalizing each word 201
Case in strings, case-insensitivity and indexes 201
Case in strings, forcing string to all upper- or lowercase 199
Case in strings, making comparisons case-insensitive 199
case statements 8
|