Oracle PL/SQL by Example This integrated learning solution teaches all the Oracle PL/SQL skills you need, hands-on, through real-world labs, extensive examples, exercises, and projects! Completely updated for Oracle 11g, Oracle PL/SQL by Example, Fourth Edition covers all the fundamentals, from PL/SQL syntax and program control through packages and Oracle 11g's significantly improved triggers. One step at a time, you'll w... Full description
Les informations fournies dans la section « Synopsis » peuvent faire référence à une autre édition de ce titre.
This integrated learning solution teaches all the Oracle PL/SQL skills you need, hands-on, through real-world labs, extensive examples, exercises, and projects! Completely updated for Oracle 11g, Oracle PL/SQL by Example, Fourth Edition covers all the fundamentals, from PL/SQL syntax and program control through packages and Oracle 11g’s significantly improved triggers.
One step at a time, you’ll walk through every key task, discovering the most important PL/SQL programming techniques on your own. Building on your hands-on learning, the authors share solutions that offer deeper insights and proven best practices. End-of-chapter projects bring together all the techniques you’ve learned, strengthening your understanding through real-world practice.
This book’s approach fully reflects the authors’ award-winning experience teaching PL/SQL programming to professionals at Columbia University. New database developers and DBAs can use its step-by-step instructions to get productive fast; experienced PL/SQL programmers can use this book as a practical solutions reference. Coverage includes
• Mastering basic PL/SQL concepts and general programming language fundamentals, and understanding SQL’s role in
PL/SQL
• Using conditional and iterative program control techniques, including the new CONTINUE and CONTINUE WHEN statements
• Efficiently handling errors and exceptions
• Working with cursors and triggers, including Oracle 11g’s powerful new compound triggers
• Using stored procedures, functions, and packages to write modular code that other programs can execute
• Working with collections, object-relational features, native dynamic SQL, bulk SQL, and other advanced PL/SQL capabilities
• Handy reference appendices: PL/SQL formatting guide, sample database schema, ANSI SQL standards reference, and
more
Benjamin Rosenzweig is a Software Development Manager at Misys. Previously he was a Principal Consultant at Oracle. His experience ranges from creating an electronic Tibetan—English Dictionary in Kathmandu, Nepal, to supporting presentation centers at Goldman Sachs and managing trading systems at TIAA-CREF. As an instructor at Columbia University’s Computer Technology and Application Program, he was awarded the Outstanding Teaching Award. Rosenzweig wrote and presented Oracle Forms Developer: The Complete Video Course, and coauthored Oracle Web Application Programming for PL/SQL Developers.
Elena Silvestrova Rakhimov is Senior Developer and Team Lead at Alea Software. She has more than fifteen years of experience in database development in a wide spectrum of enterprise and business environments, ranging from non-profit organizations to Wall Street. She has taught database programming at Columbia University.
Contents
Acknowledgments xiv
About the Authors xv
Introduction xvii
CHAPTER 1 PL/SQL Concepts 1
LAB 1.1 PL/SQL in Client/Server Architecture 2
1.1.1 Use PL/SQL Anonymous Blocks 8
1.1.2 Understand How PL/SQL Gets Executed 10
LAB 1.2 PL/SQL in SQL*Plus 12
1.2.1 Use Substitution Variables 16
1.2.2 Use the DBMS_OUTPUT.PUT_LINE Statement 17
Chapter 1 Try It Yourself 19
CHAPTER 2 General Programming Language
Fundamentals 21
LAB 2.1 PL/SQL Programming Fundamentals 22
2.1.1 Make Use of PL/SQL Language Components 23
2.1.2 Make Use of PL/SQL Variables 24
2.1.3 Handle PL/SQL Reserved Words 26
2.1.4 Make Use of Identifiers in PL/SQL 27
2.1.5 Make Use of Anchored Datatypes 28
2.1.6 Declare and Initialize Variables 31
2.1.7 Understand the Scope of a Block, Nested Blocks, and Labels 34
Chapter 2 Try It Yourself 37
CHAPTER 3 SQL in PL/SQL 39
LAB 3.1 Making Use of DML in PL/SQL 40
3.1.1 Use the Select INTO Syntax for Variable Initialization 41
3.1.2 Use DML in a PL/SQL Block 42
3.1.3 Make Use of a Sequence in a PL/SQL Block 44
LAB 3.2 Making Use of SAVEPOINT 45
3.2.1 Make Use of COMMIT, ROLLBACK, and SAVEPOINT in a PL/SQL Block 48
Chapter 3 Try It Yourself 51
CHAPTER 4 Conditional Control: IF Statements 53
LAB 4.1 IF Statements 54
4.1.1 Use the IF-THEN Statement 58
4.1.2 Use the IF-THEN-ELSE Statement 62
LAB 4.2 ELSIF Statements 65
4.2.1 Use the ELSIF Statement 69
LAB 4.3 Nested IF Statements 74
4.3.1 Use Nested IF Statements 76
Chapter 4 Try It Yourself 80
CHAPTER 5 Conditional Control: CASE Statements 81
LAB 5.1 CASE Statements 82
5.1.1 Use the CASE Statement 89
5.1.2 Use the Searched CASE Statement 91
LAB 5.2 CASE Expressions 96
5.2.1 Use the CASE Expression 100
LAB 5.3 NULLIF and COALESCE Functions 103
5.3.1 The NULLIF Function 107
5.3.2 Use the COALESCE Function 109
Chapter 5 Try It Yourself 112
CHAPTER 6 Iterative Control: Part I 113
LAB 6.1 Simple Loops 114
6.1.1 Use Simple Loops with EXIT Conditions 118
6.1.2 Use Simple Loops with EXIT WHEN Conditions 120
LAB 6.2 WHILE Loops 124
6.2.1 Use WHILE Loops 128
LAB 6.3 Numeric FOR Loops 132
6.3.1 Use Numeric FOR Loops with the IN Option 137
6.3.2 Use Numeric FOR Loops with the REVERSE Option 139
Chapter 6 Try It Yourself 142
CHAPTER 7 Iterative Control: Part II 143
LAB 7.1 The CONTINUE Statement 144
7.1.1 Use the CONTINUE Statement 146
7.1.2 Use the CONTINUE WHEN Condition 152
LAB 7.2 Nested Loops 154
7.2.1 Use Nested Loops 157
Chapter 7 Try It Yourself 161
CHAPTER 8 Error Handling and Built-in Exceptions 163
LAB 8.1 Handling Errors 164
8.1.1 Understand the Importance of Error Handling 167
LAB 8.2 Built-in Exceptions 169
8.2.1 Use Built-in Exceptions 174
Chapter 8 Try It Yourself 178
CHAPTER 9 Exceptions 179
LAB 9.1 Exception Scope 180
9.1.1 Understand the Scope of an Exception 183
LAB 9.2 User-Defined Exceptions 188
9.2.1 Use User-Defined Exceptions 193
LAB 9.3 Exception Propagation 197
9.3.1 Understand How Exceptions Propagate 203
9.3.2 Reraise Exceptions 206
Chapter 9 Try It Yourself 209
CHAPTER 10 Exceptions: Advanced Concepts 211
LAB 10.1 RAISE_APPLICATION_ERROR 212
10.1.1 Use RAISE_APPLICATION_ERROR 215
LAB 10.2 EXCEPTION_INIT Pragma 217
10.2.1 USE the EXCEPTION_INIT Pragma 219
LAB 10.3 SQLCODE and SQLERRM 222
10.3.1 Use SQLCODE and SQLERRM 225
Chapter 10 Try It Yourself 227
CHAPTER 11 Introduction to Cursors 229
LAB 11.1 Cursor Manipulation 230
11.1.1 Make Use of Record Types 234
11.1.2 Process an Explicit Cursor 235
11.1.3 Make Use of Cursor Attributes 240
11.1.4 Put It All Together 242
LAB 11.2 Using Cursor FOR Loops and Nested Cursors 246
11.2.1 Use a Cursor FOR Loop 247
11.2.2 Process Nested Cursors 247
Chapter 11 Try It Yourself 252
CHAPTER 12 Advanced Cursors 253
LAB 12.1 Using Parameters with Cursors and Complex Nested Cursors 254
12.1.1 Use Parameters in a Cursor 255
12.1.2 Use Complex Nested Cursors 255
LAB 12.2 FOR UPDATE and WHERE CURRENT Cursors 258
12.2.1 For UPDATE and WHERE CURRENT Cursors 258
CHAPTER 13 Triggers 263
LAB 13.1 What Triggers Are 264
13.1.1 Understand What a Trigger Is 272
13.1.2 Use BEFORE and AFTER Triggers 274
LAB 13.2 Types of Triggers 277
13.2.1 Use Row and Statement Triggers 283
13.2.2 Use INSTEAD OF Triggers 285
Chaper 13 Try It Yourself 290
CHAPTER 14 Compound Triggers 291
LAB 14.1 Mutating Table Issues 292
14.1.1 Understand Mutating Tables 296
LAB 14.2 Compound Triggers 300
14.2.1 Understand Compound Triggers 306
Chapter 14 Try It Yourself 313
CHAPTER 15 Collections 315
LAB 15.1 PL/SQL Tables 316
15.1.1 Use Associative Arrays 326
15.1.2 Use Nested Tables 330
LAB 15.2 Varrays 334
15.2.1 Use Varrays 338
LAB 15.3 Multilevel Collections 342
15.3.1 Use Multilevel Collections 344
Chapter 15 Try It Yourself 348
CHAPTER 16 Records 349
LAB 16.1 Record Types 350
16.1.1 Use Table-Based and Cursor-Based Records 358
16.1.2 Use User-Defined Records 362
LAB 16.2 Nested Records 367
16.2.1 Use Nested Records 369
LAB 16.3 Collections of Records 373
16.3.1 Use Collections of Records 374
Chapter 16 Try It Yourself 378
CHAPTER 17 Native Dynamic SQL 379
LAB 17.1 EXECUTE IMMEDIATE Statements 380
17.1.1 Use the EXECUTE IMMEDIATE Statement 387
LAB 17.2 OPEN-FOR, FETCH, and CLOSE Statements 392
17.2.1 Use OPEN-FOR, FETCH, and CLOSE Statements 395
Chapter 17 Try It Yourself 401
CHAPTER 18 Bulk SQL 403
LAB 18.1 The FORALL Statement 404
18.1.1 Use the FORALL Statement 413
LAB 18.2 The BULK COLLECT Clause 422
18.2.1 Use the BULK COLLECT Statement 428
Chapter 18 Try It Yourself 437
CHAPTER 19 Procedures 439
LAB 19.1 Creating Procedures 441
19.1.1 Create Procedures 441
19.1.2 Query the Data Dictionary for Information on Procedures 443
LAB 19.2 Passing Parameters into and out of Procedures 4...
Benjamin Rosenzweig
is a software development manager at Misys Treasury & Capital Markets, where he has worked since 2002. Prior to that he was a principal consultant for more than three years at Oracle Corporation in the Custom Development Department. His computer experience ranges from creating an electronic Tibetan―English dictionary in Kathmandu, Nepal, to supporting presentation centers at Goldman Sachs and managing a trading system at TIAA-CREF. Rosenzweig has been an instructor at the Columbia University Computer Technology and Application program in New York City since 1998. In 2002 he was awarded the Outstanding Teaching Award from the chair and director of the CTA program. He holds a B.A. from Reed College and a certificate in database development and design from Columbia University. His previous books with Prentice Hall are Oracle Forms Developer: The Complete Video Course (ISBN: 0-13-032124-9) and Oracle Web Application Programming for PL/SQL Developers (ISBN: 0-13-047731-1).
Elena Silvestrova Rakhimov has more than 15 years of experience in database development in a wide spectrum of enterprise and business environments, ranging from nonprofit organizations to Wall Street. She currently works at Alea Software, where she serves as Senior Developer and Team Lead. Her determination to stay hands-on notwithstanding, Rakhimov has 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. She currently resides in Vancouver, Canada.
Les informations fournies dans la section « A propos du livre » peuvent faire référence à une autre édition de ce titre.
Gratuit expédition vers Etats-Unis
Destinations, frais et délaisEUR 6,18 expédition vers Etats-Unis
Destinations, frais et délaisVendeur : Jenson Books Inc, Logan, UT, Etats-Unis
paperback. Etat : Good. This item shows signs of wear from consistent use, but it remains in good condition and works perfectly. All pages and cover are intact , but may have aesthetic issues such as small tears, bends, scratches, and scuffs. Spine may also show signs of wear. Pages may include some notes and highlighting. May include "From the library of" labels. Satisfaction Guaranteed. N° de réf. du vendeur 4BQGBJ0108YG_ns
Quantité disponible : 1 disponible(s)
Vendeur : SecondSale, Montgomery, IL, Etats-Unis
Etat : Acceptable. Item in acceptable condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. N° de réf. du vendeur 00050041628
Quantité disponible : 1 disponible(s)
Vendeur : SecondSale, Montgomery, IL, Etats-Unis
Etat : Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. N° de réf. du vendeur 00069583909
Quantité disponible : 1 disponible(s)
Vendeur : medimops, Berlin, Allemagne
Etat : good. Befriedigend/Good: Durchschnittlich erhaltenes Buch bzw. Schutzumschlag mit Gebrauchsspuren, aber vollständigen Seiten. / Describes the average WORN book or dust jacket that has all the pages present. N° de réf. du vendeur M00137144229-G
Quantité disponible : 1 disponible(s)
Vendeur : WeBuyBooks, Rossendale, LANCS, Royaume-Uni
Etat : Good. Most items will be dispatched the same or the next working day. A copy that has been read but remains in clean condition. All of the pages are intact and the cover is intact and the spine may show signs of wear. The book may have minor markings which are not specifically mentioned. N° de réf. du vendeur wbb0023568570
Quantité disponible : 1 disponible(s)
Vendeur : BennettBooksLtd, North Las Vegas, NV, Etats-Unis
Paperback. Etat : New. In shrink wrap. Looks like an interesting title! N° de réf. du vendeur Q-0137144229
Quantité disponible : 1 disponible(s)