| | Copyright |
| | The Prentice Hall PTR Oracle Series |
| | Acknowledgments |
| | | Acknowledgments from Ben Rosenzweig |
| | | Acknowledgments from Elena Silvestrova |
| | About the Authors |
| | Introduction |
| | | Who This Book Is For |
| | | How This Book Is Organized |
| | | About The Companion Web Site |
| | | What You Will Need |
| | | Using SQL*Plus |
| | | Conventions Used In This Book |
| | About Prentice Hall Professional Technical Reference |
| | Chapter 1. Programming Concepts |
| | | Lab 1.1 The Nature of a Computer Program and Programming Languages |
| | | Lab 1.1 Exercises |
| | | Lab 1.1 Exercise Answers |
| | | Lab 1.1 Self-Review Questions |
| | | Lab 1.2 Good Programming Practices |
| | | Lab 1.2 Exercises |
| | | Lab 1.2 Exercise Answers |
| | | Lab 1.2 Self-Review Questions |
| | | Chapter 1 Test Your Thinking |
| | Chapter 2. PL/SQL Concepts |
| | | Lab 2.1 PL/SQL in Client-Server Architecture |
| | | Lab 2.1 Exercises |
| | | Lab 2.1 Exercise Answers |
| | | Lab 2.1 Self-Review Questions |
| | | Lab 2.2 PL/SQL in Sql*Plus |
| | | Lab 2.2 Exercises |
| | | Lab 2.2 Exercise Answers |
| | | Lab 2.2 Self-Review Questions |
| | | Chapter 2 Test Your Thinking |
| | Chapter 3. General Programming Language Fundamentals |
| | | Lab 3.1 PL/SQL Programming Fundamentals |
| | | Lab 3.1 Exercises |
| | | Lab 3.1 Exercise Answers |
| | | Lab 3.1 Self-Review Questions |
| | | Chapter 3 Test Your Thinking |
| | Chapter 4. SQL in PL/SQL |
| | | Lab 4.1 Making Use of DML in PL/SQL |
| | | Lab 4.1 Exercises |
| | | Lab 4.1 Exercise Answers |
| | | Lab 4.1 Self-Review Questions |
| | | Lab 4.2 Making Use of SAVEPOINT |
| | | Lab 4.2 Exercises |
| | | Lab 4.2 Exercise Answers |
| | | Lab 4.2 Self-Review Questions |
| | | Chapter 4 Test Your Thinking |
| | Chapter 5. Conditional Control: IF Statements |
| | | Lab 5.1 IF Statements |
| | | Lab 5.1 Exercises |
| | | Lab 5.1 Exercise Answers |
| | | Lab 5.1 Self-Review Questions |
| | | Lab 5.2 ELSIF Statements |
| | | Lab 5.2 Exercises |
| | | Lab 5.2 Exercise Answers |
| | | Lab 5.2 Self-Review Questions |
| | | Lab 5.3 Nested IF Statements |
| | | Lab 5.3 Exercises |
| | | Lab 5.3 Exercise Answers |
| | | Lab 5.3 Self-Review Questions |
| | | Chapter 5 Test Your Thinking |
| | Chapter 6. Conditional Control: CASE Statements |
| | | LAB 6.1 CASE Statements |
| | | Lab 6.1 Exercises |
| | | Lab 6.1 Exercise Answers |
| | | Lab 6.1 Self-Review Questions |
| | | Lab 6.2 CASE Expressions |
| | | Lab 6.2 Exercises |
| | | Lab 6.2 Exercise Answers |
| | | Lab 6.2 Self-Review Questions |
| | | Lab 6.3 NULLIF and COALESCE Functions |
| | | Lab 6.3 Exercises |
| | | Lab 6.3 Exercise Answers |
| | | Lab 6.3 Self-Review Questions |
| | | Chapter 6 Test Your Thinking |
| | Chapter 7. Error Handling and Built-In Exceptions |
| | | Lab 7.1 Handling Errors |
| | | Lab 7.1 Exercises |
| | | Lab 7.1 Exercise Answers |
| | | Lab 7.1 Self-Review Questions |
| | | Lab 7.2 Built-In Exceptions |
| | | Lab 7.2 Exercises |
| | | Lab 7.2 Exercise Answers |
| | | Lab 7.2 Self-Review Questions |
| | | Chapter 7 Test Your Thinking |
| | Chapter 8. Iterative Control |
| | | Lab 8.1 Simple Loops |
| | | Lab 8.1 Exercises |
| | | Lab 8.1 Exercise Answers |
| | | Lab 8.1 Self-Review Questions |
| | | Lab 8.2 WHILE Loops |
| | | Lab 8.2 Exercises |
| | | Lab 8.2 Exercise Answers |
| | | Lab 8.2 Self-Review Questions |
| | | Lab 8.3 Numeric FOR Loops |
| | | Lab 8.3 Exercises |
| | | Lab 8.3 Exercise Answers |
| | | Lab 8.3 Self-Review Questions |
| | | Lab 8.4 Nested Loops |
| | | Lab 8.4 Exercises |
| | | Lab 8.4 Exercise Answers |
| | | Lab 8.4 Self-Review Questions |
| | | Chapter 8 Test Your Thinking |
| | Chapter 9. Introduction to Cursors |
| | | Lab 9.1 Cursor Manipulation |
| | | Lab 9.1 Exercises |
| | | Lab 9.1 Exercise Answers |
| | | Lab 9.1 Self-Review Questions |
| | | Lab 9.2 Using Cursor FOR Loops and Nesting Cursors |
| | | Lab 9.2 Exercises |
| | | Lab 9.2 Exercise Answers |
| | | Lab 9.2 Self-Review Questions |
| | | Chapter 9 Test Your Thinking |
| | Chapter 10. Exceptions |
| | | Lab 10.1 Exception Scope |
| | | Lab 10.1 Exercises |
| | | Lab 10.1 Exercise Answers |
| | | Lab 10.1 Self-Review Questions |
| | | Lab 10.2 User-Defined Exceptions |
| | | Lab 10.2 Exercises |
| | | Lab 10.2 Exercise Answers |
| | | Lab 10.2 Self-Review Questions |
| | | Lab 10.3 Exception Propagation |
| | | Lab 10.3 Exercises |
| | | Lab 10.3 Exercise Answers |
| | | Lab 10.3 Self-Review Questions |
| | | Chapter 10 Test Your Thinking |
| | Chapter 11. Exceptions: Advanced Concepts |
| | | Lab 11.1 RAISE_APPLICATION_ERROR |
| | | Lab 11.1 Exercises |
| | | Lab 11.1 Exercise Answers |
| | | Lab 11.1 Self-Review Questions |
| | | Lab 11.2 EXCEPTION_INIT Pragma |
| | | Lab 11.2 Exercises |
| | | Lab 11.2 Exercise Answers |
| | | Lab 11.2 Self-Review Questions |
| | | Lab 11.3 SQLCODE and SQLERRM |
| | | Lab 11.3 Exercises |
| | | Lab 11.3 Exercise Answers |
| | | Lab 11.3 Self-Review Questions |
| | | Chapter 11 Test Your Thinking |
| | Chapter 12. Procedures |
| | | PL/SQL Stored Code |
| | | Lab 12.1 Creating Procedures |
| | | Lab 12.1 Exercises |
| | | Lab 12.1 Exercise Answers |
| | | Lab 12.2 Passing Parameters In and Out of Procedures |
| | | Lab 12.2 Exercises |
| | | Lab 12.2 Exercise Answers |
| | | Lab 12.2 Self-Review Questions |
| | | Chapter 12 Test Your Thinking |
| | Chapter 13. Functions |
| | | Lab 13.1 Creating and Using Functions |
| | | Lab 13.1 Exercises |
| | | Lab 13.1 Exercise Answers |
| | | Lab 13.1 Self-Review Questions |
| | | Chapter 13 Test Your Thinking |
| | Chapter 14. Packages |
| | | Lab 14.1 The Benefits of Utilizing Packages |
| | | Lab 14.1 Exercises |
| | | Lab 14.1 Exercise Answers |
| | | Lab 14.1 Self-Review Questions |
| | | Chapter 14 Test Your Thinking |
| | Chapter 15. Advanced Cursors |
| | | Lab 15.1 Using Parameters with Cursors and FOR UPDATE Cursors |
| | | Lab 15.1 Exercises |
| | | Lab 15.1 Exercise Answers |
| | | Lab 15.2 Cursor Variables |
| | | Lab 15.2 Exercises |
| | | Lab 15.2 Exercise Answers |
| | | Lab 15.2 Self-Review Questions |
| | Chapter 16. Stored Code |
| | | Lab 16.1 Gathering Stored Code Information |
| | | Lab 16.1 Exercises |
| | | Lab 16.1 Exercise Answers |
| | | Lab 16.1 Self-Review Questions |
| | | Chapter 16 Test Your Thinking |
| | Chapter 17. Triggers |
| | | Lab 17.1 What Triggers Are |
| | | Lab 17.1 Exercises |
| | | Lab 17.1 Exercise Answers |
| | | Lab 17.1 Self-Review Questions |
| | | Lab 17.2 Types of Triggers |
| | | Lab 17.2 Exercises |
| | | Lab 17.2 Exercise Answers |
| | | Lab 17.2 Self-Review Questions |
| | | Lab 17.3 Mutating Table Issues |
| | | Lab 17.3 Exercises |
| | | Lab 17.3 Exercise Answers |
| | | Lab 17.3 Self-Review Questions |
| | | Chapter 17 Test Your Thinking |
| | Chapter 18. Collections |
| | | Lab 18.1 PL/SQL Tables |
| | | Lab 18.1 Exercises |
| | | Lab 18.1 Exercise Answers |
| | | Lab 18.1 Self-Review Questions |
| | | Lab 18.2 Varrays |
| | | Lab 18.2 Exercises |
| | | Lab 18.2 Exercise Answers |
| | | Lab 18.2 Self-Review Questions |
| | | Lab 18.3 Multilevel Collections |
| | | Lab 18.3 Exercises |
| | | Lab 18.3 Exercise Answers |
| | | Lab 18.3 Self-Review Questions |
| | | Chapter 18 Test Your Thinking |
| | Chapter 19. Records |
| | | Lab 19.1 Records |
| | | Lab 19.1 Exercises |
| | | Lab 19.1 Exercise Answers |
| | | Lab 19.1 Self-Review Questions |
| | | Lab 19.2 Nested Records |
| | | Lab 19.2 Exercises |
| | | Lab 19.2 Exercise Answers |
| | | Lab 19.2 Self-Review Questions |
| | | Lab 19.3 Collections of Records |
| | | Lab 19.3 Exercises |
| | | Lab 19.3 Exercise Answers |
| | | Lab 19.3 Self-Review Questions |
| | | Chapter 19 Test Your Thinking |
| | Chapter 20. Native Dynamic SQL |
| | | Lab 20.1 EXECUTE IMMEDIATE Statements |
| | | Lab 20.1 Exercises |
| | | Lab 20.1 Exercise Answers |
| | | Lab 20.1 Self-Review Questions |
| | | Lab 20.2 OPEN-FOR, FETCH, and CLOSE STATEMENTS |
| | | Lab 20.2 Exercises |
| | | Lab 20.2 Exercise Answers |
| | | Lab 20.2 Self-Review Questions |
| | | Chapter 20 Test Your Thinking |
| | Chapter 21. Oracle Supplied Packages |
| | | Lab 21.1 Make Use of Oracle Supplied Packages |
| | | Lab 21.1 Exercises |
| | | Lab 21.1 Exercise Answers |
| | Appendix A. Answers to Self-Review Questions |
| | | Chapter 1 Programming Concepts |
| | | Chapter 2 PL/SQL Concepts |
| | | Chapter 3 General Programming Language Fundamentals |
| | | Chapter 4 SQL in PL/SQL |
| | | Chapter 5 Conditional Control: IF Statements |
| | | Chapter 6 Conditional Control: CASE Statements |
| | | Chapter 7 Error Handling and Built-In Exceptions |
| | | Chapter 8 Iterative Control |
| | | Chapter 9 Introduction to Cursors |
| | | Chapter 10 Exceptions |
| | | Chapter 11 Exceptions: Advanced Concepts |
| | | Chapter 12 Procedures |
| | | Chapter 13 Functions |
| | | Chapter 14 Packages |
| | | Chapter 15 Advanced Cursors |
| | | Chapter 16 Stored Code |
| | | Chapter 17 Triggers |
| | | Chapter 18 Collections |
| | | Chapter 19 Records |
| | | Chapter 20 Native Dynamic SQL |
| | Appendix B. PL/SQL Formatting Guide |
| | | PL/SQL Code Naming Conventions and Formatting Guidelines |
| | | Other Suggestions |
| | Appendix C. Student Database Schema |
| | | Table and Column Descriptions |
| | Appendix D. Answers to Test Your Thinking Sections |
| | | Chapter 1 Programming Concepts |
| | | Chapter 2 PL/SQL Concepts |
| | | Chapter 3 General Programming Language Fundamentals |
| | | Chapter 4 SQL in PLSQL |
| | | Chapter 5 Conditional Control: IF Statements |
| | | Chapter 6 Conditional Control: CASE Statements |
| | | Chapter 7 Error Handling and Built-In Exceptions |
| | | Chapter 8 Iterative Control |
| | | Chapter 9 Introduction to Cursors |
| | | Chapter 10 Exceptions |
| | | Chapter 11 Exceptions: Advanced Concepts |
| | | Chapter 12 Procedures |
| | | Chapter 13 Functions |
| | | Chapter 14 Packages |
| | | Chapter 16 Stored Code |
| | | Chapter 17 Triggers |
| | | Chapter 18 Collections |
| | | Chapter 19 Records |
| | | Chapter 20 Native Dynamic SQL |
| | Appendix E. ANSI SQL Standards |
| | | SQL Standards |
| | | JOINs |
| | | Scalar Subquery |