Oracle10g Developer: PL/SQL Programming1 Objectives Programming fundamentals The PL/SQL block Define and declare variables Initialize variables The NOT.

Slides:



Advertisements
Similar presentations
AN INTRODUCTION TO PL/SQL Mehdi Azarmi 1. Introduction PL/SQL is Oracle's procedural language extension to SQL, the non-procedural relational database.
Advertisements

PL/SQL. Introduction to PL/SQL PL/SQL is the procedure extension to Oracle SQL. It is used to access an Oracle database from various environments (e.g.
PL/SQL.
INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Introduction to PL/SQL – Lecture 6.
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
PL/SQL (Procedural Language extensions to SQL) Prepared by: Manoj Kathpalia Edited by: M V Ramakrishna.
Lecture-5 Though SQL is the natural language of the DBA, it suffers from various inherent disadvantages, when used as a conventional programming language.
Chapter 4B: More Advanced PL/SQL Programming
Decisions (Conditional Programming) Chapter 5 (Sec. 5.1 & 5.2)
PL/SQL The Oracle Programming Language. Purpose SQL is a non-procedural language. Often we need to put structure on transactions, so we use the supplemental.
Loops Repetition Statements. Repetition statements allow us to execute a statement multiple times Often they are referred to as loops Like conditional.
Introduction to PL/SQL
PL/SQL Introduction Database 1. Practice. Sample Database The schema of the sample database is the following: Drinkers (name, occupation, birthday, salary)
Dr. James Dullea, CSC8490 Introduction to PL/SQLSlide 1 of 36 7From Prof. Dullea CSC8490 Introduction to PL/SQL Module 01-9 Revised: June 12, 2005 Dr.
Introduction to PL/SQL. Procedural Language extension for SQL Oracle Proprietary 3GL Capabilities Integration of SQL Portable within Oracle data bases.
1 Introduction to PL/SQL. 2  Procedural programming language  Uses detailed instructions  Processes statements sequentially  Combines SQL commands.
SQL enables us to create, organize, retrieve and maintain data stored in database it does not provide the features which a typical programming language.
PL/SQLPL/SQL Oracle10g Developer: PL/SQL Programming Chapter 2 Basic PL/SQL Block Structures.
INTRODUCTION TO PL/SQL. Class Agenda Introduction Introduction to PL/SQL Declaring PL/SQL Variable Creating the Executable Section Interacting with the.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to PL/SQL.
PL/SQLPL/SQL Oracle10g Developer: PL/SQL Programming Chapter 6 Functions.
PL/SQLPL/SQL Oracle11g : PL/SQL Programming Chapter 6 Functions.
Overview · What is PL/SQL · Advantages of PL/SQL · Basic Structure of a PL/SQL Block · Procedure · Function · Anonymous Block · Types of Block · Declaring.
Program with PL/SQL Lesson 4. Writing Control Structure.
LECTURE 1 INTRODUCTION TO PL/SQL Tasneem Ghnaimat.
VBScript Language. What is VBScript Based on the Visual Basic family of languages Supports object oriented features Interpreted Loosely Typed Implicitly.
PL / SQL By Mohammed Baihan. What is PL/SQL? PL/SQL stands for Procedural Language extension of SQL. PL/SQL is a combination of SQL along with the procedural.
Script Writing. Objectives: Definition of script writing Types of script Creating/Modification and running script Execution of script Fundamental of Script.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to PL/SQL.
CIS4368: Advanced DatabaseSlide # 1 PL/SQL Dr. Peeter KirsSpring, 2003 PL/SQL.
PL/SQL Declaring Variables PL/SQL Block Structure DECLARE (Optional) Variables, cursors, user-defined exceptions BEGIN (Mandatory) - SQL statements -
Chapter 15 Introduction to PL/SQL. Chapter Objectives  Explain the benefits of using PL/SQL blocks versus several SQL statements  Identify the sections.
Database Application Development using PL/SQL Programming.
PL/SQLPL/SQL Oracle10g Developer: PL/SQL Programming Chapter 3 Handling Data in PL/SQL Blocks.
Guide to Oracle 10g ITBIS373 Database Development Lecture 4a - Chapter 4: Using SQL Queries to Insert, Update, Delete, and View Data.
Control Structures sequence of execution of high-level statements.
Bordoloi and Bock Control Structures: Iterative Control.
1 PL/SQLPL/SQL Declaring Variables Declaring Variables Declaring Variables Declaring Variables Writing Executable Statements Writing Executable Statements.
Copyright  Oracle Corporation, All rights reserved. 16 Declaring Variables.
WRITING CONTROL STRUCTURES (CONDITIONAL CONTROL).
Objectives Database triggers and syntax
PL/SQLPL/SQL Oracle10g Developer: PL/SQL Programming Chapter 9 Database Triggers.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
Oracle10g Developer: PL/SQL Programming1 Objectives SQL queries within PL/SQL Host or bind variables The %TYPE attribute Include queries and control structures.
PL/SQLPL/SQL Oracle11g: PL/SQL Programming Chapter 9 Database Triggers.
PL/SQLPL/SQL Oracle10g Developer: PL/SQL Programming Chapter 9 Database Triggers.
Oracle11g: PL/SQL Programming Chapter 3 Handling Data in PL/SQL Blocks.
Oracle10g Developer: PL/SQL Programming1 Objectives Named program units How to identify parameters The CREATE PROCEDURE statement Creating a procedure.
Oracle9i Developer: PL/SQL Programming Chapter 5 Functions.
Lab 2 Writing PL/SQL Blocks CISB514 Advanced Database Systems.
Flow Control in Imperative Languages. Activity 1 What does the word: ‘Imperative’ mean? 5mins …having CONTROL and ORDER!
Introduction to PL/SQL N. Dimililer. About PL/SQL –PL/SQL is an extension to SQL with design features of programming languages. –Data manipulation and.
1 Section 10 - Embedded SQL u Many computer languages allow you to embed SQL statements within the code (e.g. COBOL, PowerBuilder, C++, PL/SQL, etc.) u.
Introduction to Programming G50PRO University of Nottingham Unit 6 : Control Flow Statements 2 Paul Tennent
Control Structure  What is control Structure?  Types of Controls  Use the control structure in VBScript.  Example Summery.
CS422 Principles of Database Systems Oracle PL/SQL Chengyu Sun California State University, Los Angeles.
Oracle11g: PL/SQL Programming Chapter 5 Procedures.
Program with PL/SQL Lesson 4.
Writing Control Structures
Fundamentals of PL/SQL part 1 (Basics)
Oracle11g: PL/SQL Programming Chapter 2 Basic PL/SQL Block Structures.
Oracle9i Developer: PL/SQL Programming Chapter 3 PL/SQL Processing.
Sa0951a PL/SQL 1: Introduction
Chapter 4: Introduction to PL/SQL
Chapter 2 Handling Data in PL/SQL Blocks Oracle9i Developer:
PL/SQL Declaring Variables.
Decisions, decisions, decisions
Procedures Oracle & MySQL
Handling Data in PL/SQL Blocks
The Selection Structure
Presentation transcript:

Oracle10g Developer: PL/SQL Programming1 Objectives Programming fundamentals The PL/SQL block Define and declare variables Initialize variables The NOT NULL & CONSTANT variable options Perform calculations with variables SQL single-row functions in PL/SQL statements Decision structures: IF-THEN and CASE Looping actions SQL*Plus bind variables

Oracle10g Developer: PL/SQL Programming2 Program Logic Flow Identify sequence of actions needed prior to coding Use a flowchart to visually represent the sequence of actions

Oracle10g Developer: PL/SQL Programming3 Flowchart - Search for Coffee Products

Oracle10g Developer: PL/SQL Programming4 Decision Structures

Oracle10g Developer: PL/SQL Programming5 Looping Structures

Oracle10g Developer: PL/SQL Programming6 PL/SQL Blocks What is a block? What are the different segments of a block? How does data get into a block? How are different data types handled?

Oracle10g Developer: PL/SQL Programming7 Brewbean’s Challenge

Oracle10g Developer: PL/SQL Programming8 PL/SQL Block Structure DECLARE – create variables, cursors, and types BEGIN – SQL, logic, loops, assignment statements EXCEPTION – error handling END – close the block

Oracle10g Developer: PL/SQL Programming9 Variable Names Begin with alpha character Up to 30 characters Can contain upper and lowercase letters, numbers, _, $, #

Oracle10g Developer: PL/SQL Programming10 Scalar Variable Data Types Character – CHAR(n) VARCHAR2(n) Numeric – NUMBER(p,s) Date – DATE Boolean – BOOLEAN (T/F) Note: Only holds a single value

Oracle10g Developer: PL/SQL Programming11 Example Scalar Declarations DECLARE lv_ord_date DATE; lv_last_txt VARCHAR2(25); lv_qty_num NUMBER(2); lv_shipflag_bln BOOLEAN; BEGIN ---- PL/SQL executable statements ---- END; Note: Minimum requirements are variable name and data type

Oracle10g Developer: PL/SQL Programming12 Test Variables

Oracle10g Developer: PL/SQL Programming13 Variable Initialization Set a variable value when the variable is created DECLARE lv_ord_date DATE := SYSDATE; lv_last_txt VARCHAR2(25) := 'Unknown'; lv_qty_num NUMBER(2) := 0; lv_shipflag_bln BOOLEAN := 'FALSE'; BEGIN ---- PL/SQL executable statements ---- END;

Oracle10g Developer: PL/SQL Programming14 Test Variable Initialization

Oracle10g Developer: PL/SQL Programming15 Variable Declaration Options NOT NULL – the variable must always contain a value CONSTANT – the variable value can not be changed in the block DECLARE lv_shipcntry_txt VARCHAR2(15) NOT NULL := 'US'; lv_taxrate_num CONSTANT NUMBER(2,2) :=.06; BEGIN ---- PL/SQL executable statements ---- END;

Oracle10g Developer: PL/SQL Programming16 Calculations with Scalar Variables multiplication DECLARE lv_taxrate_num CONSTANT NUMBER(2,2) :=.06; lv_total_num NUMBER(6,2) := 50; lv_taxamt_num NUMBER(4,2); BEGIN lv_taxamt_num := lv_total_num * lv_taxrate_num; DBMS_OUTPUT.PUT_LINE(lv_taxamt_num); END; /

Oracle10g Developer: PL/SQL Programming17 Using SQL Functions SQL functions such as MONTHS_BETWEEN can be used within PL/SQL statements

Oracle10g Developer: PL/SQL Programming18 Decision Structures Control which statements in a PL/SQL block will execute Enables conditions to be tested to determine the flow of statement execution Most programming languages provide IF and CASE statements to enable conditional processing

Oracle10g Developer: PL/SQL Programming19 IF Statements – Simple IF – IF/THEN/ELSE – IF/THEN/ELSIF/ELSE CASE Statements – Basic CASE statement – Searched CASE statement – CASE expression Decision Structures

Oracle10g Developer: PL/SQL Programming20 Simple IF Statement

Oracle10g Developer: PL/SQL Programming21 IF/THEN/ELSE

Oracle10g Developer: PL/SQL Programming22 IF/THEN/ELSIF/ELSE

Oracle10g Developer: PL/SQL Programming23 Logical Operators within IF Logical operators (AND, OR) enable multiple conditions to be checked IF lv_state_txt = 'VA' OR lv_state_txt = 'PA' THEN lv_tax_num := lv_sub_num *.06; ELSE lv_tax_num := lv_sub_num *.04; END IF;

Oracle10g Developer: PL/SQL Programming24 Basic CASE Statement

Oracle10g Developer: PL/SQL Programming25 Searched CASE

Oracle10g Developer: PL/SQL Programming26 CASE Expression

Oracle10g Developer: PL/SQL Programming27 Looping Enables a statement or set of statements to be executed more than once A loop must provide instructions of when to end the looping, or an ‘infinite’ loop will be produced

Oracle10g Developer: PL/SQL Programming28 Basic LOOP

Oracle10g Developer: PL/SQL Programming29 WHILE Loop

Oracle10g Developer: PL/SQL Programming30 FOR Loop

Oracle10g Developer: PL/SQL Programming31 Host/Bind Variables Declare Using application environment variables to send variables into and out of a PL/SQL block SQL*Plus is an application environment BEGIN :g_state_txt := 'VA'; END; /

Oracle10g Developer: PL/SQL Programming32 Using Host/Bind Variables DECLARE lv_tax_num NUMBER(4,2); lv_sub_num NUMBER(6,2) := 100; BEGIN IF :g_state_txt = 'VA' THEN lv_tax_num := lv_sub_num *.06; ELSIF :g_state_txt = 'CA' THEN lv_tax_num := lv_sub_num *.08; ELSE lv_tax_num := lv_sub_num *.04; END IF; DBMS_OUTPUT.PUT_LINE(lv_tax_num); END; /

Oracle10g Developer: PL/SQL Programming33 Summary A flowchart assists in laying out processing logic A PL/SQL block contains a DECLARE, BEGIN, EXCEPTION, and END sections Variables to hold values are declared Scalar variables hold a single data value Scalar variables can hold string values, numbers, dates, and Boolean values DBMS_OUTPUT.PUT_LINE is used to display values

Oracle10g Developer: PL/SQL Programming34 Summary IF statement structure is IF/THEN/ELSIF/ELSE CASE statements provide decision processing similar to IF statements Looping structures include: basic, WHILE, and FOR Host or bind variables can be used to interact with the application environment