Muutke küpsiste eelistusi

Oracle PL/SQL by Example 6th edition [Pehme köide]

  • Formaat: Paperback / softback, 480 pages, kõrgus x laius x paksus: 230x178x28 mm, kaal: 820 g
  • Ilmumisaeg: 08-Jun-2023
  • Kirjastus: Addison Wesley
  • ISBN-10: 0138062838
  • ISBN-13: 9780138062835
Teised raamatud teemal:
  • Formaat: Paperback / softback, 480 pages, kõrgus x laius x paksus: 230x178x28 mm, kaal: 820 g
  • Ilmumisaeg: 08-Jun-2023
  • Kirjastus: Addison Wesley
  • ISBN-10: 0138062838
  • ISBN-13: 9780138062835
Teised raamatud teemal:

Using PL/SQL for Oracle Database 21c, you can build solutions that deliver unprecedented performance and efficiency in any environment, including the cloud. Oracle PL/SQL by Example, Sixth Edition, teaches all the PL/SQL skills you'll need, through real-world labs and extensive examples. Now fully updated for the newest version of PL/SQL 21c, it covers everything from basic syntax and program control through the latest optimization and tuning enhancements.

Step by step, you'll walk through every key task, mastering today's most valuable Oracle 21c PL/SQL programming techniques on your own. Start by downloading the supporting schema and exercises from informit.com/title/9780138062835. Once you've done an exercise, the author doesn't just present the answer: She offers an in-depth discussion introducing deeper insights and modern best practices.

This book's approach fully reflects the author's award-winning experience teaching PL/SQL to professionals at Columbia University in New York City. New database developers and DBAs can use it to get productive fast; experienced PL/SQL programmers will find it to be a superb Oracle Database 21c solutions reference.

New in This Edition

  • Updated code examples throughout
  • New iteration controls for the FOR LOOP statement, such as stepped range, multiple iterations, collection, and cursor iterations
  • Enhancements for PL/SQL qualified expressions
  • Performance enhancements for PL/SQL functions, such as SQL macro, and better control of the result cache

Other Topics Covered

  • Mastering basic PL/SQL concepts and language fundamentals, and understanding SQL's role in PL/SQL
  • Using conditional and iterative program controls
  • Efficiently handling errors and exceptions
  • Working with cursors and triggers, including compound triggers
  • Using stored procedures, functions, and packages to write modular code that other programs can run
  • Working with collections, object-relational features, native dynamic SQL, bulk SQL, and other advanced features
Preface xvii
Introduction to PL/SQL New Features in Oracle 21c xxiii
PL/SQL Extended Iterators xxiv
PL/SQL Qualified Expressions Enhancements xxiv
SQL Macros xxiv
New JSON Data Type xxiv
New Pragma SUPPRESSES_WARNING_6009 xxv
PL/SQL Type Attributes in Non-Persistable User-Defined Types xxvi
PL/SQL Function Enhanced Result Cache xxvii
Chapter 1 PL/SQL Concepts
1(26)
Lab 1.1 PL/SQL Architecture
2(8)
PL/SQL Architecture
2(3)
PL/SQL Block Structure
5(4)
How PL/SQL Gets Executed
9(1)
Lab 1.2 PL/SQL Development Environment
10(8)
Getting Started with SQL Developer
10(3)
Getting Started with SQL*Plus
13(1)
Executing PL/SQL Scripts
14(4)
Lab 1.3 PL/SQL: The Basics
18(7)
DBMS_OUTPUT.PUT_LINE Statement
18(3)
Substitution Variable Feature
21(4)
Summary
25(2)
Chapter 2 PL/SQL Language Fundamentals
27(12)
Lab 2.1 PL/SQL Language Components
27(6)
PL/SQL Variables
29(2)
PL/SQL Reserved Words
31(1)
Delimiters
32(1)
Literals in PL/SQL
33(1)
Lab 2.2 Anchored Data Types
33(2)
Lab 2.3 Scope of a Variable, Block, Nested Blocks, and Labels
35(3)
Scope of a Variable
35(1)
Nested Blocks and Labels
36(2)
Summary
38(1)
Chapter 3 SQL in PL/SQL
39(10)
Lab 3.1 SQL Statements in PL/SQL
39(5)
Initializing Variables with the SELECT INTO Statement
40(1)
Using DML Statements in a PL/SQL Block
41(2)
Using a Sequence in a PL/SQL Block
43(1)
Lab 3.2 Transaction Control in PL/SQL
44(4)
The COMMIT, ROLLBACK, and SAVEPOINT Statements
44(3)
The SET TRANSACTION Statement
47(1)
Summary
48(1)
Chapter 4 Conditional Control: IF Statements
49(16)
Lab 4.1 IF Statements
50(5)
IF-THEN Statements
50(2)
IF-THEN-ELSE Statements
52(3)
Lab 4.2 ELSIF Statements
55(4)
Lab 4.3 Nested IF Statements
59(3)
Logical Operators
61(1)
Summary
62(3)
Chapter 5 Conditional Control: CASE Statements
65(20)
Lab 5.1 CASE Statements
65(9)
CASE Statements
66(2)
Searched CASE Statements
68(6)
Lab 5.2 CASE Expressions
74(4)
Lab 5.3 NULLIF and coalesce Functions
78(4)
NULL IF Function
78(2)
COALESCE Function
80(2)
Summary
82(3)
Chapter 6 Iterative Control: Part I
85(26)
Lab 6.1 Simple Loops
86(6)
EXIT Statement
87(4)
EXIT when Statement
91(1)
Lab 6.2 WHILE Loops
92(5)
Using WHILE Loops
92(3)
Terminating the WHILE Loop Prematurely
95(2)
Lab 6.3 Numeric for Loops
97(12)
Using the IN Option in the Loop
100(3)
Using the REVERSE Option in the Loop
103(1)
Using Iteration Controls in the Loop
104(4)
Terminating the Numeric FOR Loop Prematurely
108(1)
Summary
109(2)
Chapter 7 Iterative Control: Part II
111(14)
Lab 7.1 CONTINUE Statement
111(8)
Using the CONTINUE Statement
112(4)
Using the CONTINUE WHEN Statement
116(3)
Lab 7.2 Nested Loops
119(3)
Using Nested Loops
119(1)
Using Loop Labels
120(2)
Summary
122(3)
Chapter 8 Error Handling and Built-in Exceptions
125(10)
Lab 8.1 Handling Errors
125(3)
Lab 8.2 Built-in Exceptions
128(5)
Summary
133(2)
Chapter 9 Exceptions
135(16)
Lab 9.1 Exception Scope
135(4)
Lab 9.2 User-Defined Exceptions
139(4)
Lab 9.3 Exception Propagation
143(6)
Re-raising Exceptions
148(1)
Summary
149(2)
Chapter 10 Exceptions: Advanced Concepts
151(10)
Lab 10.1 RAISE_APPLICATION_ERROR
151(4)
Lab 10.2 EXCEPTION_INIT Pragma
155(2)
Lab 10.3 SQLCODE and SQLERRM
157(3)
Summary
160(1)
Chapter 11 Introduction to Cursors
161(20)
Lab 11.1 Types of Cursors
162(9)
Implicit Cursor
162(2)
Explicit Cursor
164(7)
Lab 11.2 Table-Based and Cursor-Based Records
171(4)
Table-Based Records
172(2)
Cursor-Based Records
174(1)
Lab 11.3 Cursor for Loops
175(2)
Lab 11.4 Nested Cursors
177(2)
Summary
179(2)
Chapter 12 Advanced Cursors
181(20)
Lab 12.1 Parameterized Cursors
181(5)
Lab 12.2 Cursor Variables and Expressions
186(10)
Cursor Variables
187(6)
Cursor Expressions
193(3)
Lab 12.3 For update Cursors
196(3)
Summary
199(2)
Chapter 13 Triggers
201(20)
Lab 13.1 What Triggers Are
201(12)
Database Trigger
202(3)
BEFORE Triggers
205(5)
AFTER Triggers
210(1)
Autonomous Transaction
211(2)
Lab 13.2 Types of Triggers
213(6)
Row and Statement Triggers
213(2)
INSTEAD of Triggers
215(4)
Summary
219(2)
Chapter 14 Mutating Tables and Compound Triggers
221(8)
Lab 14.1 Mutating Tables
221(2)
Lab 14.2 Compound Triggers
223(5)
Summary
228(1)
Chapter 15 Collections
229(30)
Lab 15.1 PL/SQL Tables
230(10)
Associative Arrays
231(2)
Nested Tables
233(3)
Collection Methods
236(4)
Lab 15.2 Varrays
240(5)
Lab 15.3 Multidimensional Collections
245(2)
Lab 15.4 Collection Iteration Controls and Qualified Expressions
247(11)
Collection Iteration Controls
247(4)
Qualified Expressions
251(7)
Summary
258(1)
Chapter 16 Records
259(14)
Lab 16.1 User-Defined Records
259(6)
User-Defined Records
260(2)
Qualified Expressions with Records
262(1)
Record Compatibility
263(2)
Lab 16.2 Nested Records
265(3)
Lab 16.3 Collections of Records
268(3)
Summary
271(2)
Chapter 17 Native Dynamic SQL
273(16)
Lab 17.1 EXECUTE IMMEDIATE Statements
274(9)
EXECUTE IMMEDIATE Statement
275(8)
Lab 17.2 OPEN FOR, FETCH, and CLOSE Statements
283(4)
Summary
287(2)
Chapter 18 Bulk SQL
289(30)
Lab 18.1 FORALL Statements
290(9)
FORALL Statements
290(4)
SAVE EXCEPTIONS Option
294(2)
INDICES of Option
296(1)
VALUES of Option
297(2)
Lab 18.2 The BULK COLLECT Clause
299(9)
Lab 18.3 Binding Collections in SQL Statements
308(10)
Binding Collections with EXECUTE IMMEDIATE Statements
308(6)
Binding Collections with OPEN FOR, FETCH, and CLOSE Statements
314(4)
Summary
318(1)
Chapter 19 Procedures
319(12)
Lab 19.1 Creating Nested Procedures
320(7)
Nested Procedures
320(1)
Parameter Modes
321(5)
Forward Declaration
326(1)
Lab 19.2 Creating Stand-Alone Procedures
327(3)
Summary
330(1)
Chapter 20 Functions
331(10)
Lab 20.1 Creating Nested Functions
331(5)
Lab 20.2 Creating Stand-Alone Functions
336(4)
Summary
340(1)
Chapter 21 Packages
341(16)
Lab 21.1 Creating Packages
341(7)
Creating a Package Specification
342(1)
Creating a Package Body
343(5)
Lab 21.2 Package Instantiation and Initialization
348(3)
Package Instantiation and Initialization
349(2)
Package State
351(1)
Lab 21.3 SERIALLY_REUSABLE Packages
351(5)
Summary
356(1)
Chapter 22 Stored Code Advanced Concepts
357(22)
Lab 22.1 Subprogram Overloading
357(6)
Lab 22.2 Result-Cached Functions
363(3)
Lab 22.3 Invoking PL/SQL Functions from SQL Statements
366(9)
Invoking Functions in SQL Statements
367(1)
Using Pipelined Table Functions
368(2)
Using SQL Macros
370(5)
Summary
375(4)
Chapter 23 Object Types in Oracle
379(20)
Lab 23.1 Object Types
380(8)
Creating Object Types
381(4)
Using Object Types with Collections
385(3)
Lab 23.2 Object Type Methods
388(10)
Using Constructor Methods
389(3)
Using Member Methods
392(1)
Using Static Methods
393(1)
Comparing Objects
393(5)
Summary
398(1)
Chapter 24 Storing Object Types in Tables
399(12)
Lab 24.1 Storing Object Types in Relational Tables
400(3)
Lab 24.2 Storing Object Types in Object Tables
403(2)
Lab 24.3 Type Evolution
405(5)
Summary
410(1)
Chapter 25 Dynamic SQL with the DBMS_SQL Package
411(10)
Lab 25.1 Generating Dynamic SQL with the DBMS_SQL Package
412(8)
Summary
420(1)
Appendix A PL/SQL Formatting Guide
421(4)
Case
421(1)
Whitespace
421(1)
Naming Conventions
422(1)
Comments
423(2)
Appendix B Student Database Schema
425(8)
Table and Column Descriptions
425(8)
Index 433
Elena Rakhimov has more than 20 years of experience in software architecture and development in a wide spectrum of enterprise and business environments ranging from nonprofit organizations to Wall Street to her current position with a prominent consulting company. Her determination to stay hands-on notwithstanding, Elena managed to excel in the academic arena, having taught relational database programming at Columbia University's highly esteemed Computer Technology and Applications program. She was educated in database analysis and design at Columbia University and in applied mathematics at Baku State University in Azerbaijan.