图书介绍

ORALCE PL/SQL编程 影印版 第6版 上 英文2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

ORALCE PL/SQL编程 影印版 第6版 上 英文
  • (美)弗伊尔斯坦,(美)普瑞拜尔著 著
  • 出版社: 南京:东南大学出版社
  • ISBN:9787564153472
  • 出版时间:2015
  • 标注页数:590页
  • 文件大小:90MB
  • 文件页数:629页
  • 主题词:关系数据库系统-程序设计-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

ORALCE PL/SQL编程 影印版 第6版 上 英文PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Part Ⅰ.Programming in PL/SQL3

1.Introduction to PL/SQL3

What Is PL/SQL?3

The Origins of PL/SQL4

The Early Years of PL/SQL4

Improved Application Portability5

Improved Execution Authority and Transaction Integrity5

Humble Beginnings,Steady Improvement6

So This Is PL/SQL7

Integration with SQL7

Control and Conditional Logic8

When Things Go Wrong9

About PL/SQL Versions11

Oracle Database 12c New PL/SQL Features12

Resources for PL/SQL Developers14

The O'Reilly PL/SQL Series15

PL/SQL on the Internet16

Some Words of Advice17

Don't Be in Such a Hurry!17

Don't Be Afraid to Ask for Help18

Take a Creative,Even Radical Approach19

2.Creating and Running PL/SQL Code21

Navigating the Database21

Creating and Editing Source Code22

SQL*Plus23

Starting Up SQL*Plus24

Running a SQL Statement26

Running a PL/SQL Program27

Running a Script29

What Is the"Current Directory"?30

Other SQL*Plus Tasks31

Error Handling in SQL*Plus36

Why You Will Love and Hate SQL*Plus36

Performing Essential PL/SQL Tasks37

Creating a Stored Program37

Executing a Stored Program41

Showing Stored Programs41

Managing Grants and Synonyms for Stored Programs42

Dropping a Stored Program43

Hiding the Source Code of a Stored Program44

Editing Environments for PL/SQL44

Calling PL/SQL from Other Languages45

C:Using Oracle's Precompiler(Pro*C)46

Java:Using JDBC47

Perl:Using Perl DBI and DBD::Oracle48

PHP:Using Oracle Extensions49

PL/SQL Server Pages51

And Where Else?52

3.Language Fundamentals53

PL/SQL Block Structure53

Anonymous Blocks55

Named Blocks57

Nested Blocks57

Scope58

Qualify All References to Variables and Columns in SQL Statements59

Visibility62

The PL/SQL Character Set65

Identifiers67

Reserved Words68

Whitespace and Keywords70

Literals70

NULLs71

Embedding Single Quotes Inside a Literal String72

Numeric Literals73

Boolean Literals74

The Semicolon Delimiter74

Comments75

Single-Line Comment Syntax75

Multiline Comment Syntax76

The PRAGMA Keyword76

Labels77

Part Ⅱ.PL/SQL Program Structure83

4.Conditional and Sequential Control83

IF Statements83

The IF-THEN Combination84

The IF-THEN-ELSE Combination86

The IF-THEN-ELSIF Combination87

Avoiding IF Syntax Gotchas89

Nested IF Statements90

Short-Circuit Evaluation91

CASE Statements and Expressions93

Simple CASE Statements93

Searched CASE Statements95

Nested CASE Statements98

CASE Expressions98

The GOTO Statement100

The NULL Statement101

Improving Program Readability101

Using NULL After a Label102

5.Iterative Processing with Loops105

Loop Basics105

Examples of Different Loops106

Structure of PL/SQL Loops107

The Simple Loop108

Terminating a Simple Loop:EXIT and EXIT WHEN109

Emulating a REPEAT UNTIL Loop110

The Intentionally Infinite Loop111

The WHILE Loop112

The Numeric FOR Loop114

Rules for Numeric FOR Loops114

Examples of Numeric FOR Loops115

Handling Nontrivial Increments116

The Cursor FOR Loop117

Example of Cursor FOR Loops118

Loop Labels119

The CONTINUE Statement120

Tips for Iterative Processing123

Use Understandable Names for Loop Indexes123

The Proper Way to Say Goodbye124

Obtaining Information About FOR Loop Execution126

SQL Statement as Loop126

6.Exception Handlers129

Exception-Handling Concepts and Terminology129

Defining Exceptions132

Declaring Named Exceptions132

Associating Exception Names with Error Codes133

About Named System Exceptions136

Scope of an Exception139

Raising Exceptions140

The RAISE Statement140

Using RAISE_APPLICATION_ERROR141

Handling Exceptions143

Built-in Error Functions144

Combining Multiple Exceptions in a Single Handler149

Unhandled Exceptions149

Propagation of Unhandled Exceptions150

Continuing Past Exceptions153

Writing WHEN OTHERS Handling Code155

Building an Effective Error Management Architecture157

Decide on Your Error Management Strategy158

Standardize Handling of Different Types of Exceptions159

Organize Use of Application-Specific Error Codes162

Use Standardized Error Management Programs163

Work with Your Own Exception"Objects"165

Create Standard Templates for Common Error Handling167

Making the Most of PL/SQL Error Management169

Part Ⅲ.PL/SQL Program Data173

7.Working with Program Data173

Naming Your Program Data173

Overview of PL/SQL Datatypes175

Character Data176

Numbers177

Dates,Timestamps,and Intervals178

Booleans178

Binary Data179

ROWIDs179

REF CURSORs179

Internet Datatypes180

"Any"Datatypes180

User-Defined Datatypes181

Declaring Program Data181

Declaring a Variable181

Declaring Constants182

The NOT NULL Clause183

Anchored Declarations183

Anchoring to Cursors and Tables185

Benefits of Anchored Declarations186

Anchoring to NOT NULL Datatypes188

Programmer-Defined Subtypes188

Conversion Between Datatypes189

Implicit Data Conversion189

Explicit Datatype Conversion192

8.Strings199

String Datatypes199

The VARCHAR2 Datatype200

The CHAR Datatype201

String Subtypes202

Working with Strings203

Specifying String Constants203

Using Nonprintable Characters205

Concatenating Strings206

Dealing with Case207

Traditional Searching,Extracting,and Replacing210

Padding213

Trimming215

Regular Expression Searching,Extracting,and Replacing216

Working with Empty Strings227

Mixing CHAR and VARCHAR2 Values229

String Function Quick Reference231

9.Numbers241

Numeric Datatypes241

The NUMBER Type242

The PLS_INTEGER Type247

The BINARY_INTEGER Type248

The SIMPLE_INTEGER Type249

The BINARY_FLOAT and BINARY_DOUBLE Types251

The SIMPLE_FLOAT and SIMPLE_DOUBLE Types256

Numeric Subtypes256

Number Conversions257

The TO_NUMBER Function258

The TO_CHAR Function261

The CAST Function267

Implicit Conversions268

Numeric Operators270

Numeric Functions271

Rounding and Truncation Functions271

Trigonometric Functions272

Numeric Function Quick Reference272

10.Dates and Timestamps277

Datetime Datatypes278

Declaring Datetime Variables280

Choosing a Datetime Datatype281

Getting the Current Date and Time282

Interval Datatypes284

Declaring INTERVAL Variables286

When to Use INTERVALs287

Datetime Conversions289

From Strings to Datetimes289

From Datetimes to Strings292

Working with Time Zones295

Requiring a Format Mask to Match Exactly298

Easing Up on Exact Matches299

Interpreting Two-Digit Years in a Sliding Window299

Converting Time Zones to Character Strings301

Padding Output with Fill Mode302

Date and Timestamp Literals302

Interval Conversions304

Converting from Numbers to Intervals304

Converting Strings to Intervals305

Formatting Intervals for Display306

Interval Literals307

CAST and EXTRACT308

The CAST Function308

The EXTRACT Function310

Datetime Arithmetic311

Date Arithmetic with Intervals and Datetimes311

Date Arithmetic with DATE Datatypes312

Computing the Interval Between Two Datetimes313

Mixing DATEs and TIMESTAMPs316

Adding and Subtracting Intervals317

Multiplying and Dividing Intervals317

Using Unconstrained INTERVAL Types318

Date/Time Function Quick Reference319

11.Records323

Records in PL/SQL323

Benefits of Using Records324

Declaring Records326

Programmer-Defined Records327

Working with Records330

Comparing Records337

Trigger Pseudorecords338

12.Collections341

Collections Overview342

Collections Concepts and Terminology343

Types of Collections345

Collection Examples345

Where You Can Use Collections349

Choosing a Collection Type354

Collection Methods(Built-ins)356

The COUNT Method357

The DELETE Method358

The EXISTS Method359

The EXTEND Method360

The FIRST and LAST Methods361

The LIMIT Method362

The PRIOR and NEXT Methods362

The TRIM Method363

Working with Collections365

Declaring Collection Types365

Declaring and Initializing Collection Variables369

Populating Collections with Data374

Accessing Data Inside a Collection379

Using String-Indexed Collections380

Collections of Complex Datatypes385

Multilevel Collections389

Working with Collections in SQL398

Nested Table Multiset Operations406

Testing Equality and Membership of Nested Tables408

Checking for Membership of an Element in a Nested Table409

Performing High-Level Set Operations409

Handling Duplicates in a Nested Table411

Maintaining Schema-Level Collections412

Necessary Privileges412

Collections and the Data Dictionary413

13.Miscellaneous Datatypes415

The BOOLEAN Datatype415

The RAW Datatype417

The UROWID and ROWID Datatypes417

Getting ROWIDs418

Using ROWIDs419

The LOB Datatypes420

Working with LOBs422

Understanding LOB Locators423

Empty Versus NULL LOBs425

Writing into a LOB427

Reading from a LOB430

BFILEs Are Different431

SecureFiles Versus BasicFiles436

Temporary LOBs439

Native LOB Operations442

LOB Conversion Functions447

Predefined Object Types447

The XMLType Type448

The URI Types451

The Any Types453

Part Ⅳ.SQL in PL/SQL461

14.DML and Transaction Management461

DML in PL/SQL462

A Quick Introduction to DML462

Cursor Attributes for DML Operations466

RETURNING Information from DML Statements467

DML and Exception Handling468

DML and Records470

Transaction Management473

The COMMIT Statement474

The ROLLBACK Statement474

The SAVEPOINT Statement475

The SET TRANSACTION Statement476

The LOCK TABLE Statement476

Autonomous Transactions477

Defining Autonomous Transactions478

Rules and Restrictions on Autonomous Transactions479

Transaction Visibility480

When to Use Autonomous Transactions481

Building an Autonomous Logging Mechanism482

15.Data Retrieval485

Cursor Basics486

Some Data Retrieval Terms487

Typical Query Operations488

Introduction to Cursor Attributes489

Referencing PL/SQL Variables in a Cursor492

Choosing Between Explicit and Implicit Cursors493

Working with Implicit Cursors494

Implicit Cursor Examples495

Error Handling with Implicit Cursors496

Implicit SQL Cursor Attributes498

Working with Explicit Cursors500

Declaring Explicit Cursors501

Opening Explicit Cursors504

Fetching from Explicit Cursors505

Column Aliases in Explicit Cursors507

Closing Explicit Cursors508

Explicit Cursor Attributes510

Cursor Parameters512

SELECT...FOR UPDATE515

Releasing Locks with COMMIT516

The WHERE CURRENT OF Clause518

Cursor Variables and REF CURSORs519

Why Use Cursor Variables?520

Similarities to Static Cursors521

Declaring REF CURSOR Types521

Declaring Cursor Variables522

Opening Cursor Variables523

Fetching from Cursor Variables524

Rules for Cursor Variables527

Passing Cursor Variables as Arguments530

Cursor Variable Restrictions532

Cursor Expressions533

Using Cursor Expressions534

Restrictions on Cursor Expressions536

16.Dynamic SQL and Dynamic PL/SQL537

NDS Statements538

The EXECUTE IMMEDIATE Statement538

The OPEN FOR Statement543

About the Four Dynamic SQL Methods548

Binding Variables550

Argument Modes551

Duplicate Placeholders553

Passing NULL Values554

Working with Objects and Collections555

Dynamic PL/SQL557

Build Dynamic PL/SQL Blocks558

Replace Repetitive Code with Dynamic Blocks560

Recommendations for NDS561

Use Invoker Rights for Shared Programs561

Anticipate and Handle Dynamic Errors562

Use Binding Rather than Concatenation564

Minimize the Dangers of Code Injection566

When to Use DBMS_SQL569

Obtain Information About Query Columns569

Meeting Method 4 Dynamic SQL Requirements571

Minimizing Parsing of Dynamic Cursors578

Oracle Database 11g New Dynamic SQL Features579

Enhanced Security for DBMS_SQL584

Part Ⅴ.PL/SQL Application Construction591

17.Procedures,Functions,and Parameters591

Modular Code592

Procedures593

Calling a Procedure596

The Procedure Header596

The Procedure Body596

The END Label597

The RETURN Statement597

Functions597

Structure of a Function598

The RETURN Datatype601

The END Label602

Calling a Function603

Functions Without Parameters604

The Function Header604

The Function Body605

The RETURN Statement605

Parameters607

Defining Parameters608

Actual and Formal Parameters608

Parameter Modes609

Explicit Association of Actual and Formal Parameters in PL/SQL613

The NOCOPY Parameter Mode Qualifier617

Default Values618

Local or Nested Modules619

Benefits of Local Modularization620

Scope of Local Modules623

Sprucing Up Your Code with Nested Subprograms623

Subprogram Overloading624

Benefits of Overloading625

Restrictions on Overloading628

Overloading with Numeric Types629

Forward Declarations630

Advanced Topics631

Calling Your Function from Inside SQL631

Table Functions637

Deterministic Functions647

Implicit Cursor Results(Oracle Database 12c)649

Go Forth and Modularize!650

18.Packages651

Why Packages?651

Demonstrating the Power of the Package652

Some Package-Related Concepts655

Diagramming Privacy657

Rules for Building Packages658

The Package Specification658

The Package Body660

Initializing Packages662

Rules for Calling Packaged Elements666

Working with Package Data667

Global Within a Single Oracle Session668

Global Public Data669

Packaged Cursors669

Serializable Packages674

When to Use Packages677

Encapsulate Data Access677

Avoid Hardcoding Literals680

Improve Usability of Built-in Features683

Group Together Logically Related Functionality683

Cache Static Session Data684

Packages and Object Types685

19.Triggers687

DML Triggers688

DML Trigger Concepts689

Creating a DML Trigger691

DML Trigger Example:No Cheating Allowed!696

Multiple Triggers of the Same Type702

Who Follows Whom703

Mutating Table Errors705

Compound Triggers:Putting It All in One Place706

DDL Triggers710

Creating a DDL Trigger710

Available Events713

Available Attributes713

Working with Events and Attributes715

Dropping the Undroppable718

The INSTEAD OF CREATE Trigger719

Database Event Triggers720

Creating a Database Event Trigger721

The STARTUP Trigger722

The SHUTDOWN Trigger723

The LOGON Trigger723

The LOGOFF Trigger723

The SERVERERROR Trigger724

INSTEAD OF Triggers728

Creating an INSTEAD OF Trigger728

The INSTEAD OF INSERT Trigger730

The INSTEAD OF UPDATE Trigger732

The INSTEAD OF DELETE Trigger733

Populating the Tables733

INSTEAD OF Triggers on Nested Tables734

AFTER SUSPEND Triggers736

Setting Up for the AFTER SUSPEND Trigger736

Looking at the Actual Trigger738

The ORA_SPACE_ERROR_INFO Function739

The DBMS_RESUMABLE Package740

Trapped Multiple Times742

To Fix or Not to Fix?743

Maintaining Triggers743

Disabling,Enabling,and Dropping Triggers743

Creating Disabled Triggers744

Viewing Triggers745

Checking the Validity of Triggers746

20.Managing PL/SQL Code749

Managing Code in the Database750

Overview of Data Dictionary Views751

Display Information About Stored Objects753

Display and Search Source Code753

Use Program Size to Determine Pinning Requirements755

Obtain Properties of Stored Code756

Analyze and Modify Trigger State Through Views757

Analyze Argument Information758

Analyze Identifier Usage(Oracle Database 11g's PL/Scope)759

Managing Dependencies and Recompiling Code762

Analyzing Dependencies with Data Dictionary Views763

Fine-Grained Dependency(Oracle Database 11g)767

Remote Dependencies769

Limitations of Oracle's Remote Invocation Model772

Recompiling Invalid Program Units773

Compile-Time Warnings777

A Quick Example777

Enabling Compile-Time Warnings778

Some Handy Warnings780

Testing PL/SQL Programs788

Typical,Tawdry Testing Techniques789

General Advice for Testing PL/SQL Code793

Automated Testing Options for PL/SQL794

Tracing PL/SQL Execution795

DBMS_UTILITY.FORMAT_CALL_STACK796

UTL_CALL_STACK(Oracle Database 12c)798

DBMS_APPLICATION_INFO801

Tracing with opp_trace803

The DBMS_TRACE Facility804

Debugging PL/SQL Programs808

The Wrong Way to Debug809

Debugging Tips and Strategies811

Using Whitelisting to Control Access to Program Units816

Protecting Stored Code818

Restrictions on and Limitations of Wrapping818

Using the Wrap Executable819

Dynamic Wrapping with DBMS_DDL819

Guidelines for Working with Wrapped Code821

Introduction to Edition-Based Redefinition(Oracle Database 11g Release 2)821

21.Optimizing PL/SQL Performance825

Tools to Assist in Optimization827

Analyzing Memory Usage827

Identifying Bottlenecks in PL/SQL Code827

Calculating Elapsed Time833

Choosing the Fastest Program834

Avoiding Infinite Loops836

Performance-Related Warnings837

The Optimizing Compiler838

Insights on How the Optimizer Works840

Runtime Optimization of Fetch Loops843

Data Caching Techniques844

Package-Based Caching845

Deterministic Function Caching850

THe Function Result Cache(Oracle Database 11g)852

Caching Summary868

Bulk Processing for Repeated SQL Statement Execution869

High-Speed Querying with BULK COLLECT870

High-Speed DML with FORALL877

Improving Performance with Pipelined Table Functions888

Replacing Row-Based Inserts with Pipelined Function-Based Loads889

Tuning Merge Operations with Pipelined Functions896

Asynchronous Data Unloading with Parallel Pipelined Functions898

Performance Implications of Partitioning and Streaming Clauses in Parallel Pipelined Functions902

Pipelined Functions and the Cost-Based Optimizer903

Tuning Complex Data Loads with Pipelined Functions909

A Final Word on Pipelined Functions916

Specialized Optimization Techniques917

Using the NOCOPY Parameter Mode Hint917

Using the Right Datatype921

Optimizing Function Performance in SQL(12.1 and higher)922

Stepping Back for the Big Picture on Performance923

22.I/O and PL/SQL925

Displaying Information925

Enabling DBMS_OUTPUT926

Write Lines to the Buffer926

Read the Contents of the Buffer927

Reading and Writing Files929

The UTL_FILE_DIR Parameter929

Working with Oracle Directories931

Open Files932

Is the File Already Open?934

Close Files934

Read from Files935

Write to Files938

Copy Files941

Delete Files942

Rename and Move Files943

Retrieve File Attributes943

Sending Email944

Oracle Prerequisites945

Configuring Network Security946

Send a Short(32,767 Bytes or Less)Plain-Text Message947

Include"Friendly"Names in Email Addresses948

Send a Plain-Text Message of Arbitrary Length950

Send a Message with a Short(32,767 Bytes or Less)Attachment951

Send a Small File(32,767 Bytes or Less)as an Attachment953

Attach a File of Arbitrary Size953

Working with Web-Based Data(HTTP)956

Retrieve a Web Page in"Pieces"956

Retrieve a Web Page into a LOB958

Authenticate Using HTTP Username/Password959

Retrieve an SSL-Encrypted Web Page(via HTTPS)960

Submit Data to a Web Page via GET or POST961

Disable Cookies or Make Cookies Persistent965

Retrieve Data from an FTP Server966

Use a Proxy Server966

Other Types of I/O Available in PL/SQL967

Database Pipes,Queues,and Alerts967

TCP Sockets968

Oracle's Built-in Web Server968

Part Ⅵ.Advanced PL/SQL Topics971

23.Application Security and PL/SQL971

Security Overview971

Encryption973

Key Length974

Algorithms975

Padding and Chaining977

The DBMS_CRYPTO Package977

Encrypting Data979

Encrypting LOBs982

SecureFiles982

Decrypting Data983

Performing Key Generation984

Performing Key Management985

Cryptographic Hashing991

Using Message Authentication Codes993

Using Transparent Data Encryption994

Transparent Tablespace Encryption997

Row-Level Security999

Why Learn About RLS?1002

A Simple RLS Example1003

Static Versus Dynamic Policies1007

Using Column-Sensitive RLS1012

RLS Debugging1015

Application Contexts1019

Using Application Contexts1020

Security in Contexts1022

Contexts as Predicates in RLS1022

Identifying Nondatabase Users1026

Fine-Grained Auditing1028

Why Learn About FGA?1029

A Simple FGA Example1030

Access How Many Columns?1032

Checking the Audit Trail1033

Using Bind Variables1035

Using Handler Modules1036

24.PL/SQL Architecture1039

DIANA1039

How Oracle Executes PL/SQL Code1040

An Example1041

Compiler Limits1044

The Default Packages of PL/SQL1045

Execution Authority Models1048

The Definer Rights Model1049

The Invoker Rights Model1054

Combining Rights Models1056

Granting Roles to PL/SQL Program Units(Oracle Database 12c)1057

"Who Invoked Me?"Functions(Oracle Database 12c)1060

BEQUEATH CURRENT_USER for Views(Oracle Database 12c)1061

Constraining Invoker Rights Privileges(Oracle Database 12c)1063

Conditional Compilation1064

Examples of Conditional Compilation1065

The Inquiry Directive1066

The $IF Directive1070

The $ERROR Directive1072

Synchronizing Code with Packaged Constants1072

Program-Specific Settings with Inquiry Directives1073

Working with Postprocessed Code1074

PL/SQL and Database Instance Memory1076

The SGA,PGA,and UGA1076

Cursors,Memory,and More1077

Tips on Reducing Memory Use1079

What to Do If You Run Out of Memory1090

Native Compilation1093

When to Run in Interpreted Mode1094

When to Go Native1094

Native Compilation and Database Release1094

What You Need to Know1095

25.Globalization and Localization in PL/SQL1097

Overview and Terminology1099

Unicode Primer1100

National Character Set Datatypes1102

Character Encoding1102

Globalization Support Parameters1104

Unicode Functions1105

Character Semantics1111

String Sort Order1115

Binary Sort1116

Monolingual Sort1117

Multilingual Sort1119

Multilingual Information Retrieval1120

IR and PL/SQL1123

Date/Time1126

Timestamp Datatypes1126

Date/Time Formatting1127

Currency Conversion1131

Globalization Development Kit for PL/SQL1133

UTL_118N Utility Package1133

UTL_LMS Error-Handling Package1136

GDK Implementation Options1137

26.Object-Oriented Aspects of PL/SQL1141

Introduction to Oracle's Object Features1142

Object Types by Example1144

Creating a Base Type1144

Creating a Subtype1146

Methods1147

Invoking Supertype Methods in Oracle Database 11g and Later1152

Storing,Retrieving,and Using Persistent Objects1154

Evolution and Creation1162

Back to Pointers?1164

Generic Data:The ANY Types1171

I Can Do It Myself1176

Comparing Objects1179

Object Views1184

A Sample Relational System1186

Object View with a Collection Attribute1188

Object Subview1191

Object View with Inverse Relationship1192

INSTEAD OF Triggers1193

Differences Between Object Views and Object Tables1196

Maintaining Object Types and Object Views1197

Data Dictionary1197

Privileges1199

Concluding Thoughts from a(Mostly) Relational Developer1201

27.Calling Java from PL/SQL1205

Oracle and Java1205

Getting Ready to Use Java in Oracle1207

Installing Java1207

Building and Compiling Your Java Code1208

Setting Permissions for Java Development and Execution1209

A Simple Demonstration1212

Finding the Java Functionality1212

Building a Custom Java Class1213

Compiling and Loading into Oracle1215

Building a PL/SQL Wrapper1217

Deleting Files from PL/SQL1217

Using loadjava1218

Using dropjava1221

Managing Java in the Database1221

The Java Namespace in Oracle1221

Examining Loaded Java Elements1222

Using DBMS_JAVA1223

LONGNAME:Converting Java Long Names1223

GET_,SET_,and RESET_COMPILER_OPTION:Getting and Setting(a Few)Compiler Options1224

SET_OUTPUT:Enabling Output from Java1225

EXPORT_SOURCE,EXPORT_RESOURCE,and EXPORT_CLASS:Exporting Schema Objects1226

Publishing and Using Java in PL/SQL1228

Call Specs1228

Some Rules for Call Specs1229

Mapping Datatypes1230

Calling a Java Method in SQL1232

Exception Handling with Java1232

Extending File I/O Capabilities1236

Other Examples1240

28.External Procedures1243

Introduction to External Procedures1244

Example: Invoking an Operating System Command1244

Architecture of External Procedures1246

Oracle Net Configuration1248

Specifying the Listener Configuration1248

Security Characteristics of the Configuration1251

Setting Up Multithreaded Mode1252

Creating an Oracle Library1254

Writing the Call Specification1256

The Call Spec:Overall Syntax1257

Parameter Mapping:The Example Revisited1258

Parameter Mapping:The Full Story1260

More Syntax:The PARAMETERS Clause1262

PARAMETERS Properties1263

Raising an Exception from the Called C Program1266

Nondefault Agents1269

Maintaining External Procedures1272

Dropping Libraries1272

Data Dictionary1272

Rules and Warnings1273

A.Regular Expression Metacharacters and Function Parameters1275

B.Number Format Models1281

C.Date Format Models1285

Index1291

热门推荐