1 / 19

Introduction to PL/SQL Lecture 0 – Self Study

Introduction to PL/SQL Lecture 0 – Self Study. Akhtar Ali. Overview. Overview of PL/SQL Development of a coded block Interacting with an Oracle database Controlling PL/SQL process flow Cursor handling Error handling. Re-visiting SQL.

rea
Télécharger la présentation

Introduction to PL/SQL Lecture 0 – Self Study

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to PL/SQL Lecture 0 – Self Study Akhtar Ali

  2. Overview • Overview of PL/SQL • Development of a coded block • Interacting with an Oracle database • Controlling PL/SQL process flow • Cursor handling • Error handling

  3. Re-visiting SQL • Instructions to Oracle identifying the information you wish to select, insert, delete or update • SQL*Plus is Oracle's simple interface for interaction with Oracle DBMS using SQL. • Notes on SQL are on Blackboard

  4. PL/SQL - introduction • Procedural extension allowing for modularity, variable declaration, loops and logical constructs. • Allows for advanced error handling • Communicates natively with other oracle database objects. • Managed centrally within the Oracle database.

  5. Other Databases • All have procedural facilities • SQL is not functionally complete • Lacks full facilities of a programming language • So top up functionality by embedding SQL in a procedural language • PL/SQL techniques are specific to Oracle • but procedures and functions can be ported to other systems

  6. Why use PL/SQL • Manage business rules – through middle layer application logic. • Generate code for triggers • Generate code for interface • Enable database-centric client/server applications

  7. Centralised V’s De-centralised Begin : End; Begin : End; Begin : End; Multiple copies of executable code on the decentralised system – multiple copies to maintain leading to increase difficulty in maintaining the system Begin : End; Server Server Common copy of executed code – one copy to maintain

  8. Advantages of using PL/SQL to access Oracle • PL/SQL is managed centrally within the database • Code is managed by the DBA and execution privileges are managed in the same way as with other objects • PL/SQL objects are first-class Oracle DB objects • Easy to read • With modularity features and error handling

  9. Centralised control • Enables DBA to: • Specify rules in one place (as procedure, function, package in PL/SQL) • Force user access through the predefined PL/SQL so users cannot write their own procedural code and use this instead. • Define for instance security privileges giving users access to table(s) only through a particular procedure

  10. Using PL/SQL as a programming language • Permits all operations of standard programming languages e.g. • Conditions IF-THEN-ELSE-END IF; • Jumps GOTO • Provides loops for controlling iteration • LOOP-EXIT; WHEN-END LOOP; FOR-END LOOP; WHILE-END LOOP • Allows extraction of data into variables and its subsequent manipulation

  11. Modules in PL/SQL There are 4 types of modules in PL/SQL • Procedures – series of statements may or may not return a value • Functions – series of statements must return a single value • Triggers – series of PL/SQL statements (actions) executing after an event has triggered a condition (ECA) • Packages – collection of procedures and function that has 2 parts: • a listing and a body.

  12. Procedures Creation command Variable declarations Body of procedure Create or replace procedure sample1 as v_num1 constant number := 2.5; v_num2 constant number := 4; v_product number; BEGIN v_product := v_num1 * v_num2; END;

  13. Use of Data-Types • Number – used to store any number • Char(size) & varchar2(size) e.g.: char(10) – used to store alphanumerical text strings, the char data type will pad the value stored to the full length declared. • Date – used to store dates • Long – used to store large blocks of text up to 2 gigabytes in length (limited operations)

  14. More data-types • Long raw – stores large blocks of data stored in binary format • Raw – stores smaller blocks of data in binary formal • Rowid – used to store the special format of rowids in the database

  15. Non-database Data Types • DEC, DECIMAL, REAL, INTEGER, INT – these are numerical data types that are a subset of number. • Binary_integer – binary format for number type but can not be stored in database unless converted first. • Character – same as char • Boolean – true/false value • Table/record – tables can be used to store the equivalent of an array while records store the variables with composite data types.

  16. Empid empname addr1 addr2 addr3 postcode grade salary Using SQL in procedures • Select values into PL/SQL variables • using INTO • Record.element notation will address components of tuples (dot notation) • %rowtype allows full rows to be selected into one variable V_employee employee%rowtype

  17. Selects entire row of data into 1 variable called v_employee Is updating the value of salary based on selected element of a variable Example (Anonymous Block of Code) Declare v_employee employee%rowtype; Begin select * into v_employee from employee where empid = 65284; update employee set salary = v_employee.salary + 1000 where empid = v_employee.empid; End;

  18. Cursor overview • Very powerful in PL/SQL modules • Allows more than one set of data to be retrieved and accessed at the same time in loops • Sets are created by executing SQL statements embedded in the PL/SQL code • Cursor attributes - %notfound, %rowcount, %found & %isopen

  19. Error handling • Prevents database locking • Ensures that errors are presented to the user in a sensible format • Makes code robust • Essential when using PL/SQL as formal programming language or interfacing with Oracle applications.

More Related