PLSQL Notes

 1.     Variables Declaration

·       Introduction to PL/SQL Variables

·       Variable Declaration Syntax

·       Naming Rules for Variables

·       Declaring Scalar Variables

·       Declaring Numeric Variables

·       Declaring Character Variables

·       Declaring Date Variables

·       Declaring Boolean Variables

·       Declaring LONG and RAW Variables

·       Declaring Constants (CONSTANT keyword)

·       Using %TYPE Attribute

·       Using %ROWTYPE Attribute

·       Declaring Composite Variables (RECORD)

·       Declaring Collections (VARRAY, Nested Tables, Associative Arrays)

·       Declaring Variables in Anonymous Blocks

·       Declaring Variables in Procedures

·       Declaring Variables in Functions

·       Declaring Variables in Packages

·       Default Values for Variables

·       Initializing Variables

·       Scope of Variables

·       Lifetime of Variables

·       Local vs Global Variables

·       Using Variables with Cursors

·       Variables in Loops

·       Variables in Conditional Statements

·       Variables in Dynamic SQL

·       Variables and Exception Handling

·       Best Practices for Variable Naming

·       Common Variable Declaration Errors

 

2.     Using SQL Statements Within a PL/SQL Block

·       Introduction to SQL in PL/SQL

·       Embedding DML Statements in PL/SQL

·       SELECT INTO Statement

·       INSERT Statement

·       UPDATE Statement

·       DELETE Statement

·       MERGE Statement

·       Using COMMIT in PL/SQL

·       Using ROLLBACK in PL/SQL

·       Using SAVEPOINT in PL/SQL

·       Using DDL Statements in PL/SQL

·       EXECUTE IMMEDIATE for DDL

·       Using SQL Functions in PL/SQL

·       Using Aggregate Functions in PL/SQL

·       Using Scalar Functions in PL/SQL

·       Using Built-in Date Functions

·       Using String Functions

·       Using Numeric Functions

·       Using Conditional Expressions in SQL

·       Cursors with SQL Statements

·       Implicit Cursors for SQL DML

·       Explicit Cursors for SQL Queries

·       Cursor FOR Loops

·       Dynamic SQL with EXECUTE IMMEDIATE

·       Bulk Collect with SQL Statements

·       FORALL with SQL DML

·       Exception Handling for SQL Errors

·       SQL%ROWCOUNT, SQL%FOUND, SQL%NOTFOUND

·       Performance Considerations for SQL in PL/SQL

·       Best Practices for Using SQL in PL/SQL

 

3.     Writing Executable Statements

·       Introduction to Executable Statements

·       Assignment Statements

·       Using the := Operator

·       SQL Statements in PL/SQL

·       SELECT INTO Statement

·       INSERT Statement

·       UPDATE Statement

·       DELETE Statement

·       MERGE Statement

·       COMMIT Statement

·       ROLLBACK Statement

·       SAVEPOINT Statement

·       DDL Statements in PL/SQL

·       EXECUTE IMMEDIATE for DDL

·       Calling Procedures

·       Calling Functions

·       Using Built-in Functions

·       Using User-Defined Functions

·       LOOP Statements as Executable Code

·       IF-ELSE as Executable Statements

·       CASE as Executable Statement

·       WHILE LOOP as Executable Statement

·       FOR LOOP as Executable Statement

·       EXIT and EXIT WHEN Statements

·       Exception Handling Statements

·       RAISE Statement

·       RAISE_APPLICATION_ERROR Statement

·       NULL Statement

·       Using EXECUTE IMMEDIATE for Dynamic DML

·       Best Practices for Writing Executable Statements

 

4.     Control Statement

·       Introduction to Control Statements

·       IF Statement

·       IF-ELSE Statement

·       IF-ELSIF-ELSE Statement

·       CASE Statement

·       Simple CASE Expression

·       Searched CASE Expression

·       LOOP Statement

·       Basic LOOP Structure

·       EXIT Statement

·       EXIT WHEN Statement

·       WHILE LOOP Statement

·       FOR LOOP Statement

·       Numeric FOR LOOP

·       Cursor FOR LOOP

·       Nested Loops

·       GOTO Statement

·       NULL Statement

·       CONTINUE Statement

·       CONTINUE WHEN Statement

·       Using Control Statements with Cursors

·       Control Statements in Procedures

·       Control Statements in Functions

·       Control Statements in Packages

·       Control Statements in Triggers

·       Combining IF and LOOP Statements

·       Error Handling within Control Statements

·       Optimizing Loops for Performance

·       Avoiding Infinite Loops

·       Best Practices for Control Statements

 

5.     Composite Data Type

·       Introduction to Composite Data Types

·       RECORD Data Type

·       User-Defined RECORD Types

·       Table-Based RECORD Types (%ROWTYPE)

·       Nested RECORDs

·       Assigning Values to RECORD Fields

·       RECORDs in Procedures

·       RECORDs in Functions

·       RECORDs in Packages

·       RECORDs and Cursors

·       Associative Arrays (INDEX BY Tables)

·       Defining Associative Arrays

·       Associative Array Methods (FIRST, LAST, NEXT, PRIOR)

·       VARRAY Data Type

·       Defining VARRAY Types

·       VARRAY Limits and Size

·       Nested Tables

·       Defining Nested Table Types

·       Nested Table vs VARRAY

·       Collection Methods (COUNT, EXTEND, DELETE, TRIM)

·       BULK COLLECT with Collections

·       FORALL with Collections

·       Collections in SQL vs PL/SQL

·       Passing Collections as Parameters

·       Collection Initialization

·       Multidimensional Collections

·       Collections and Exception Handling

·       Collections Performance Considerations

·       Using Composite Types in Packages

·       Best Practices for Composite Data Type

 

6.     Cursor

·       Introduction to Cursors

·       Implicit Cursors

·       Explicit Cursors

·       Cursor Attributes (%FOUND, %NOTFOUND, %ROWCOUNT, %ISOPEN)

·       Cursor Declaration

·       Opening a Cursor

·       Fetching Data from a Cursor

·       Closing a Cursor

·       Cursor FOR Loop

·       Parameterized Cursors

·       Nested Cursors

·       Cursors with Joins

·       Cursor Variables (REF CURSOR)

·       Strong REF CURSOR

·       Weak REF CURSOR

·       Passing Cursors as Parameters

·       Using Cursors in Stored Procedures

·       Using Cursors in Functions

·       Using Cursors in Packages

·       Cursor and Exception Handling

·       Cursor Performance Considerations

·       Bulk Collect with Cursors

·       FORALL with Cursors

·       Cursors vs Loops

·       Cursor Scope and Lifetime

·       Cursors in Triggers

·       Dynamic SQL with Cursors

·       Cursor Memory Management

·       Common Cursor Errors

·       Best Practices for Oracle Cursors

 

7.     Handling Exceptions

·       Introduction to Exception Handling

·       Predefined Exceptions

·       User-Defined Exceptions

·       Raising Exceptions

·       RAISE Statement

·       RAISE_APPLICATION_ERROR

·       Exception Declaration

·       Exception Section in PL/SQL

·       WHEN OTHERS Exception

·       Exception Propagation

·       Nested Exception Handling

·       Handling NO_DATA_FOUND

·       Handling TOO_MANY_ROWS

·       Handling ZERO_DIVIDE

·       Handling DUP_VAL_ON_INDEX

·       Handling INVALID_CURSOR

·       Handling VALUE_ERROR

·       Using SQLCODE and SQLERRM

·       Exception Handling in Procedures

·       Exception Handling in Functions

·       Exception Handling in Packages

·       Exception Handling in Triggers

·       Exception Handling in Cursors

·       Re-Raising Exceptions

·       Logging Errors in Exception Handling

·       Exceptions and Transactions

·       Autonomous Transactions for Error Logging

·       Exception Handling Best Practices

·       Common Exception Handling Mistakes

·       Performance Considerations in Exception Handling

 

8.     Procedure

·       Introduction to Stored Procedures

·       Creating a Procedure

·       Procedure Syntax and Structure

·       IN Parameters

·       OUT Parameters

·       IN OUT Parameters

·       Calling a Procedure

·       Procedures vs Functions

·       Local Procedures

·       Nested Procedures

·       Procedures in Packages

·       Passing Records to Procedures

·       Passing Cursors to Procedures

·       Using Procedures with Tables

·       Using Procedures with Views

·       Exception Handling in Procedures

·       User-Defined Exceptions in Procedures

·       Transaction Control in Procedures

·       COMMIT and ROLLBACK in Procedures

·       Dynamic SQL in Procedures

·       Using Procedures with Triggers

·       Overloading Procedures

·       Procedure Compilation Errors

·       Debugging Procedures

·       Security and Privileges for Procedures

·       Performance Tuning Procedures

·       Procedures with Autonomous Transactions

·       Recompiling Procedures

·       Dropping Procedures

·       Best Practices for Oracle Procedures

 

9.     Functions

·       Introduction to PL/SQL Functions

·       Creating a Function

·       Function Syntax and Structure

·       RETURN Statement

·       Deterministic Functions

·       Functions with IN Parameters

·       Functions with OUT Parameters

·       Functions with IN OUT Parameters

·       Calling Functions in SQL

·       Calling Functions in PL/SQL

·       Functions vs Procedures

·       Functions in Packages

·       Functions with Composite Data Types

·       Functions Returning RECORD Types

·       Functions Returning Collections

·       Pipelined Table Functions

·       Functions and Exception Handling

·       User-Defined Exceptions in Functions

·       Functions and Transaction Control

·       Autonomous Transaction Functions

·       Recursive Functions

·       Functions Using Cursors

·       Functions with Dynamic SQL

·       Function Overloading

·       Function Compilation Errors

·       Debugging Functions

·       Security and Privileges for Functions

·       Performance Considerations for Functions

·       Recompiling Functions

·       Best Practices for PL/SQL Functions

 

10.  Triggers

·       Introduction to Oracle Triggers

·       Types of Triggers in Oracle

·       DML Triggers

·       DDL Triggers

·       Database Event Triggers

·       BEFORE Triggers

·       AFTER Triggers

·       INSTEAD OF Triggers

·       Row-Level Triggers

·       Statement-Level Triggers

·       Trigger Firing Order

·       Trigger Creation Syntax

·       Using :OLD and :NEW Pseudorecords

·       Trigger Timing Points

·       Mutating Table Error

·       Compound Triggers

·       Trigger Restrictions and Limitations

·       Trigger vs Stored Procedure

·       Enabling and Disabling Triggers

·       Dropping Triggers

·       Viewing Trigger Metadata (USER_TRIGGERS)

·       Error Handling in Triggers

·       Trigger Performance Considerations

·       Triggers on Views

·       Auditing with Triggers

·       Cascading Triggers

·       Recursive Triggers

·       Trigger Security Considerations

·       Best Practices for Oracle Triggers

·       Common Trigger Use Cases

 

11.  Package

·       Introduction to Packages

·       Package Specification

·       Package Body

·       Creating a Package

·       Package Variables

·       Package Constants

·       Package Procedures

·       Package Functions

·       Public vs Private Package Members

·       Package Initialization Section

·       Package Overloading

·       Using Packages in PL/SQL

·       Calling Package Procedures

·       Calling Package Functions

·       Packages and Encapsulation

·       Packages in Stored Procedures

·       Packages in Functions

·       Packages and Cursors

·       Packages and Exceptions

·       Packages and Triggers

·       Package Compilation Errors

·       Debugging Packages

·       Package Dependencies

·       Package State and Session Persistence

·       Recompiling Packages

·       Dropping Packages

·       Security and Privileges for Packages

·       Performance Benefits of Packages

·       Package Best Practices

·       Common Package Use Cases

 

12.  Dynamic SQL

·       Introduction to Dynamic SQL

·       Static SQL vs Dynamic SQL

·       Native Dynamic SQL (EXECUTE IMMEDIATE)

·       DBMS_SQL Package Overview

·       When to Use Dynamic SQL

·       Building Dynamic SQL Statements

·       Dynamic DDL Statements

·       Dynamic DML Statements

·       Dynamic SELECT Statements

·       Using Bind Variables in Dynamic SQL

·       IN Bind Variables

·       OUT Bind Variables

·       Dynamic SQL with RETURNING INTO

·       Using EXECUTE IMMEDIATE with INTO

·       Dynamic SQL in Procedures

·       Dynamic SQL in Functions

·       Dynamic SQL in Packages

·       Dynamic SQL in Triggers

·       Dynamic SQL with Cursors

·       Using DBMS_SQL.PARSE

·       Using DBMS_SQL.BIND_VARIABLE

·       Using DBMS_SQL.EXECUTE

·       Converting DBMS_SQL to Native Dynamic SQL

·       Handling Errors in Dynamic SQL

·       SQL Injection Risks

·       Preventing SQL Injection

·       Performance Considerations in Dynamic SQL

·       Dynamic SQL and Privileges

·       Debugging Dynamic SQL

·       Best Practices for Dynamic SQL

 

No comments:

Post a Comment