PL/SQL is a powerful procedural extension of SQL, used primarily with Oracle databases.
It allows developers to write complex logic and manipulate data in ways that SQL alone cannot.
Mastering PL/SQL opens doors to exciting career opportunities in database administration, development, and data analysis, equipping you with the ability to build robust applications and manage large data sets.
Finding a high-quality PL/SQL course on Udemy can be overwhelming, with so many options available.
You’re likely looking for a course that goes beyond the basics, provides practical experience, and is taught by experienced instructors who can guide you through the intricacies of this powerful language.
For the best PL/SQL course overall on Udemy, we recommend "The Complete PL/SQL Bootcamp : Beginner to Advanced PL/SQL".
This comprehensive program covers everything from fundamentals to advanced concepts like packages, triggers, and dynamic SQL.
The course features clear explanations, practical examples, and hands-on exercises, making it an ideal choice for both beginners and experienced learners.
While this is our top pick, there are other great PL/SQL courses available on Udemy.
Keep reading to discover more recommendations tailored to your specific needs and goals, whether you’re interested in preparing for certifications, building specific skills, or diving deeper into advanced topics.
PL/SQL by Example - Beginner to Advanced PL/SQL
The course begins by guiding you through the installation process of necessary software like Oracle, Java SDK, and SQL Developer.
This ensures you have the right setup to follow along with the lectures and hands-on exercises.
Once the setup is complete, you’ll dive into the fundamentals of PL/SQL, learning about its structure, advantages, and how to declare variables.
You’ll also explore control structures like IF-ELSE statements, CASE statements, and loops (WHILE and FOR) to control the flow of your code.
As you progress, you’ll learn how to process data using PL/SQL, including reading data from the database, inserting new data, and understanding the %TYPE concept.
This is a crucial aspect of working with databases.
The course then introduces you to PL/SQL blocks, which are the building blocks of PL/SQL programming.
You’ll learn about anonymous blocks, procedures (with different parameter modes), and functions, enabling you to modularize your code effectively.
Error handling is an essential part of any programming language, and this course covers exceptions in detail.
You’ll learn how to catch and handle both user-defined and system-defined exceptions, ensuring your programs run smoothly.
To further enhance code organization, the course delves into packages, teaching you how to create package specifications and bodies, and how to execute subprograms within packages.
Working with records is another important topic covered, allowing you to handle row data instead of just column data.
You’ll learn about record types, passing records as parameters, and performing various operations like inserting, updating, and retrieving data using records.
The course also covers cursors, which provide control over the data being processed by PL/SQL.
You’ll learn about implicit and explicit cursors, retrieving single and multiple rows, using records with cursors, and handling cursor exceptions.
Collections, such as associative arrays, nested tables, and varrays, are introduced to help you store and process data in single-dimensional arrays.
You’ll learn about collection terminology, methods, and MULTISET operators.
Triggers, which are special types of stored procedures that automatically execute when certain events occur (like INSERT, UPDATE, or DELETE), are also covered in detail.
You’ll learn about different trigger types, statement-level and row-level triggers, and how to use the OLD and NEW pseudo-records.
The course concludes with advanced topics like bulk processing, dynamic SQL, table functions, and working with large objects (LOBs) like CLOBs, BLOBs, and BFILEs.
These concepts are essential for handling large amounts of data and executing dynamic SQL statements.
The Complete PL/SQL Bootcamp : Beginner to Advanced PL/SQL
The course starts by introducing you to PL/SQL, explaining what it is and why you should use it.
You’ll learn about the PL/SQL architecture, pluggable databases, and the sample HR schema used throughout the course.
After covering the basics, you’ll dive into software installation, with multiple options provided, including using a virtual machine, installing Oracle Database on your computer, or using Oracle Live SQL.
Once you have your development environment set up, the real fun begins!
You’ll learn how to write your first PL/SQL code, work with variables, control structures (loops, if statements, etc.), and use SQL within PL/SQL.
The course then covers composite data types like records, collections (varrays, nested tables, associative arrays), and how to store them in tables.
One of the most important topics covered is PL/SQL cursors, which allow you to work with bulk data row by row.
You’ll learn about explicit cursors, cursor parameters, cursor attributes, and more.
The course also teaches you how to handle exceptions, both predefined and user-defined, using various techniques.
Moving on, you’ll learn how to create and use PL/SQL functions and procedures, including local subprograms, overloading, and exception handling within subprograms.
The course then dives into PL/SQL packages, covering their creation, usage, modification, and removal, as well as package initialization and persistent state.
Another crucial topic is PL/SQL triggers, where you’ll learn about different trigger types (DML, statement-level, row-level), timing, conditional predicates, and more.
You’ll also learn how to debug your PL/SQL code using the PL/SQL debugger.
The course covers dynamic SQL and PL/SQL, teaching you how to create and use them with various techniques like EXECUTE IMMEDIATE, OPEN-FOR, and the DBMS_SQL package.
Additionally, you’ll learn about Oracle-supplied packages like DBMS_OUTPUT, UTL_FILE, and UTL_MAIL, which can be incredibly useful in your PL/SQL development.
Throughout the course, you’ll find quizzes to test your knowledge and reinforce the concepts you’ve learned.
The course also includes supplementary resources, such as instructions for installing Oracle Database and configuring SQL Developer.
Oracle PL/SQL Fundamentals vol. I & II
The course begins by introducing you to PL/SQL, its blocks, and how to work with SQL Plus.
You’ll learn about declaring various data types, including simple types like CHAR and NUMBER, as well as complex types like records and collections.
The syllabus dives into working with variables, operators, SQL functions, and embedding SQL statements within PL/SQL.
You’ll gain an understanding of logic control structures like loops, conditional statements, and exception handling.
The course covers explicit cursors in depth, teaching you about cursor attributes, parameters, and different types of cursors like updateable and FOR-LOOP cursors.
Moving on, you’ll explore database program units such as stored procedures, functions, and packages.
You’ll learn how to create, execute, and manage dependencies for these units.
The syllabus also covers advanced techniques like persistent global objects and object-oriented support within packages.
The course introduces you to cursor variables, including weak cursor definitions and REF CURSORs.
You’ll work with built-in packages like DBMS_OUTPUT and UTL_FILE for output and file handling.
Database triggers are a key topic, covering statement-level, row-level, and INSTEAD OF triggers.
You’ll learn how to use triggers within applications, handle mutating table issues, and work with compound and system event triggers.
Throughout the course, you’ll have access to additional resources and example files provided by the instructor to reinforce your learning.
Oracle PL/SQL is My Game: EXAM 1Z0-149
You’ll start by setting up the necessary environment, including installing Oracle Database or using the provided HR schema.
The course covers the fundamentals of PL/SQL, such as its structure, blocks, and variables.
You’ll learn how to declare variables, work with different data types, and use delimiters for string literals.
As you progress, you’ll dive into writing executable statements, interacting with the Oracle database server using SQL and DML statements, and understanding implicit SQL cursors.
The course also covers control structures like IF statements, loops, and CASE expressions, which are essential for writing efficient PL/SQL code.
You’ll explore composite data types like records, associative arrays, nested tables, and varrays, enabling you to work with complex data structures.
The course delves into explicit cursors, a powerful tool for querying and manipulating data, and exception handling, crucial for robust error management.
The curriculum covers creating procedures, functions, and packages, which are building blocks for modularizing and organizing your PL/SQL code.
You’ll learn about overloading subprograms, persistent state, and using Oracle-supplied packages like DBMS_OUTPUT and UTL_FILE for application development.
Dynamic SQL, a technique for constructing and executing SQL statements at runtime, is also covered, along with design considerations like standardization, rights, autonomous transactions, and performance optimization hints.
The course explores triggers, including statement-level, row-level, compound, DDL, and event database triggers, enabling you to enforce business rules and maintain data integrity.
You’ll also learn about the PL/SQL compiler, managing code dependencies, and using tools like conditional compilation and obfuscation.
200+ PL/SQL Interview Questions
The course offers a comprehensive journey through PL/SQL interview questions, covering a wide range of topics essential for acing your next interview.
You’ll start with the basics, gradually progressing to more advanced concepts like procedures, functions, packages, dynamic SQL, cursors, collections, exceptions, triggers, and bulk processing.
The course begins with an introduction, guiding you on how to make the most of the program.
It even includes a mock interview session to help you practice and gain confidence.
In the first chapter, you’ll dive into basic PL/SQL interview questions, solidifying your foundational knowledge with a quiz.
The next chapters delve into procedures, functions, and packages, breaking them down into multiple lectures for a thorough understanding, accompanied by a dedicated procedures quiz.
Dynamic SQL and cursors are explored in-depth, with lectures covering their intricacies.
You’ll also tackle quizzes on cursors to reinforce your learning.
Collections and exceptions are covered comprehensively, with lectures and quizzes to test your mastery.
The course doesn’t stop there – it also covers triggers and bulk processing, equipping you with the skills to handle complex scenarios.
Each topic is accompanied by lectures and quizzes, ensuring you grasp every concept thoroughly.
Oracle 11g PL/SQL Fundamentals I
You will start by preparing your environment and learning about the different Oracle database tools available.
The course then dives into the core language features of PL/SQL.
You’ll understand what PL/SQL is, how to work with PL/SQL blocks, and how to use SQL Plus.
The DECLARE clause is covered in-depth, including declaring simple and complex data types like records and tables, as well as creating user-defined types.
Moving to the BEGIN clause, you’ll learn how to work with different variable types like strings, numbers, dates, and booleans.
You’ll use comparison operators, SQL functions, and embedded SQL statements like SELECT within your PL/SQL code.
The course teaches logic control with IF-THEN-ELSE, CASE statements, loops (indefinite, conditional, nested), and even the GOTO statement.
Error handling is crucial, so you’ll learn about exception types, trapping exceptions, creating user-defined exceptions, and working with SQLCODE and SQLERRM.
The implicit cursor concept is also explained.
The course covers explicit cursors in detail - understanding their purpose, using cursor attributes, updateable cursors, cursor parameters, and FOR..LOOP cursors.
You’ll learn about nested blocks and the difference between global and local objects/exceptions.
Finally, you’ll dive into declared subprograms and how they differ from nested blocks.
The resources provided by the instructor, including example files, will aid your learning experience.
Oracle PL/SQL Fundamentals & Database Design–3course bundle
You’ll start by learning the fundamentals of PL/SQL syntax and structure, including how to work with variables, data types, operators, and SQL functions within PL/SQL blocks.
The course covers essential programming concepts like control structures (loops, conditionals), exception handling, and cursor operations.
You’ll learn how to create and use explicit cursors, cursor parameters, and cursor variables like REF CURSORs.
The material also dives into advanced topics like subprograms, packages, triggers, and calling stored programs from applications.
But the course doesn’t just focus on PL/SQL.
You’ll also get an in-depth look at proper database design principles and normalization techniques.
This includes how to identify different types of relationships between entities, assign primary/foreign keys, and avoid bad design practices that lead to redundant data.
Throughout the lectures, you’ll gain hands-on experience installing Oracle XE and SQL Developer for your local PL/SQL development environment.
You’ll learn how to create stored procedures, functions, packages, and triggers directly in the database.
The course utilizes plenty of examples and exercises to reinforce the concepts.
By the end, you’ll have a solid grasp of PL/SQL programming and be able to write high-quality, scalable database code.
You’ll also understand how to properly design and normalize relational databases from the ground up.
Learn Oracle PL/SQL - A Comprehensive Training Course
This course provides a comprehensive overview of PL/SQL, covering everything from the basics to advanced topics like dynamic SQL and PL/SQL objects.
You’ll start with an introduction to PL/SQL, learning about its structure, data types, and how it differs from SQL.
The course then dives into complex data structures like records, associative arrays, and nested tables, which are essential for working with PL/SQL effectively.
One of the standout features of this course is its focus on practical programming.
You’ll learn how to use tools like SQLPlus and SQL Developer to write and execute PL/SQL code.
The course also covers creating procedures, functions, and packages, which are fundamental building blocks of PL/SQL programming.
Flow control and exception handling are crucial aspects of any programming language, and this course dedicates entire chapters to these topics.
You’ll learn about if statements, case statements, loops, and how to handle exceptions gracefully.
The course also covers SQL in PL/SQL, including inserting, updating, and deleting data, as well as working with cursors and performing bulk operations.
This is particularly useful if you’re working with Oracle databases and need to integrate SQL with PL/SQL.
Advanced topics like triggers, PL/SQL objects, and dynamic SQL are also covered in depth.
You’ll learn about different types of triggers, how to create and work with PL/SQL objects, and how to use dynamic SQL to execute SQL statements at runtime.
Oracle 11g PL/SQL Fundamentals II
You will start by preparing your environment, installing Oracle XE and SQL Developer for a seamless learning experience.
The course dives deep into database program units, introducing you to stored procedures and functions.
You will learn how to create, execute, and handle compilation errors for these powerful constructs.
Additionally, you will explore techniques for maintaining stored procedures and functions, including recompiling, dropping, managing dependencies, and using data dictionary storage.
Packages, a fundamental concept in PL/SQL, are covered in detail.
You will understand what packages are, how to create them, and how to access package definition information.
The course also covers advanced programming techniques, such as using persistent global objects, including initialization logic, and leveraging object-oriented support within packages.
Cursor techniques are essential in PL/SQL, and this course teaches you how to use cursor variables, weak cursor definitions, REFCURSOR cursor definitions, and cursor expressions.
You will also learn about system-supplied packages, such as DBMS_OUTPUT() and UTL_FILE(), which can greatly enhance your PL/SQL programming capabilities.
Database triggers are a crucial aspect of PL/SQL, and the course provides a thorough understanding of statement-level triggers, row-level triggers, and INSTEAD OF triggers.
You will work with practical examples to reinforce your learning and gain insights into using triggers within applications.
The course also covers trigger maintenance tasks, such as using the CALL statement, working with multiple triggers for a single table, handling mutating table issues, and using compound triggers.
Additionally, you will explore system event triggers, including defining their scope and identifying available system events.
Throughout the course, you will have access to additional resources and example files provided by the instructor, ensuring a hands-on learning experience.
Mastering PL/SQL
The course starts with an introduction to PL/SQL, covering the basics like its non-procedural nature, different statement types, and the PL/SQL interface.
You’ll also get hands-on experience with basic operations in PL/SQL.
This lays the foundation for the rest of the course.
Next, you’ll dive into variables and constants in PL/SQL.
You’ll learn about different variable types, how to assign values, and the use of constants.
The course covers important concepts like %TYPE and %ROWTYPE attributes, which are essential for working with variables effectively.
The syllabus then moves on to conditional, looping, and sequential statements.
You’ll learn about different types of loops like simple, while, and for loops, as well as conditional statements like if-then-else.
These are fundamental concepts in any programming language, and the course covers them in-depth with demonstrations.
Exception handling is a crucial aspect of PL/SQL, and the course dedicates an entire section to it.
You’ll learn about implicit and explicit exceptions, how to trap and handle them, and the use of error trapping functions.
The course even includes assignments to reinforce your understanding of exception handling.
Cursor handling is another important topic covered in the course.
You’ll learn about implicit and explicit cursors, their usage, and how to work with cursor parameters.
The course includes demonstrations and assignments to help you master cursor handling.
The syllabus then covers subprograms, which are essential for modular programming.
You’ll learn about local and stored functions, procedures, and their syntax.
The course includes assignments to help you practice writing subprograms.
Finally, the course covers triggers in PL/SQL.
You’ll learn about different types of triggers, their syntax, and how to use them effectively.
The course includes demonstrations and assignments to help you understand triggers in-depth.
Throughout the course, you’ll have access to reading materials and quizzes to reinforce your learning.