0% found this document useful (0 votes)
14 views

Oracle PL SQL 5

The document discusses handling data in PL/SQL blocks including using SQL queries, manipulating data with DML statements like INSERT, UPDATE and DELETE, making use of the INTO clause to store query results in variables, embedding DML statements in PL/SQL, and using record variables to hold table row data.

Uploaded by

Lucy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Oracle PL SQL 5

The document discusses handling data in PL/SQL blocks including using SQL queries, manipulating data with DML statements like INSERT, UPDATE and DELETE, making use of the INTO clause to store query results in variables, embedding DML statements in PL/SQL, and using record variables to hold table row data.

Uploaded by

Lucy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

ORACLE PL/SQL: HHANDLING DATA IN PL/SQL BLOCK

Use SQL queries in a PL/SQL executable block

• It refers to the ability to include SQL statements within a PL/SQL block of code.

• PL/SQL allows for the execution of SQL statements along with the ability to incorporate
programming constructs such as variables, loops, conditionals, and exception handling.

• The key point to note is that the SQL query is embedded within the PL/SQL block using the
appropriate syntax. The result of the SQL query can be stored in PL/SQL variables, used in
conditional statements, or even used to perform DML (Data Manipulation Language)
operations.

• For example the PL/SQL block includes a SQL query to retrieve a value from a table based on
a specific condition. The result of the query is stored in the my_variable PL/SQL variable,
which can then be used within the block for further processing or display.

DECLARE

my_variable VARCHAR2(50);

BEGIN

-- SQL query to retrieve data

SELECT column_name INTO my_variable

FROM table_name

WHERE condition;

-- Do something with retrieved data

DBMS_OUTPUT.PUT_LINE('Value retrieved from table: ' || my_variable);

END;

Manipulate data with DML statements in PL/SQL

Data Manipulation Language:

• Collection of instructions

• Used to alter database-stored data.

DML statements, as examples, include:

• INSERT − Used to add new data to a table.

• UPDATE − Used to modify existing data in a table.

• DELETE − Used to remove data from a table.

• SELECT − Used to retrieve data from one or more tables in a database.

Example:
• Let's suppose we have a "Customers" table with columns: "ID", "Name", and "Age".

• Inserting data: We can use an INSERT statement to add a new customer into the table.

BEGIN

INSERT INTO Customers (ID, Name, Age)

VALUES (1, 'John Doe', 25);

COMMIT;

END;

Updating data: If we need to change the age of a customer, we can use an UPDATE statement.

BEGIN

UPDATE Customers

SET Age = 30

WHERE Name = 'John Doe';

COMMIT;

END;

Make use of the INTO clause to hold the values returned by a SQL statement

• The INTO clause is used to store the result of a SELECT query into a set of variables or a single
variable.

• It is a way to fetch a single row or a single column value from a SQL query and assign it to a
variable.

• Here is an example to better understand the usage of the INTO clause:

• Let's say we have a table called "Employees" with columns "employee_id" and
"employee_name". Suppose we want to retrieve the name of an employee based on their
ID:

DECLARE

v_employee_name Employees.employee_name%TYPE; -- declare a variable to hold the employee


name

BEGIN

SELECT employee_name INTO v_employee_name -- use the INTO clause to store the employee name

FROM Employees

WHERE employee_id = 1; -- assuming the employee ID is 1

DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_employee_name); -- printing the employee name

END;
Embedding DML statements in PL/SQL

• Including data manipulation statements such as INSERT, UPDATE, DELETE, or SELECT within a
PL/SQL block or program.

• This allows the PL/SQL program to manipulate or interact with the data in a database.

• For example:

The PL/SQL block first retrieves the salary of an employee with the last name 'Smith' from the
employees table using a SELECT statement. Then, it updates the salary of that employee using an
UPDATE statement. Finally, it prints the updated salary using the DBMS_OUTPUT.PUT_LINE function.

DECLARE

lname employees.last_name%TYPE := 'Smith';

salary employees.salary%TYPE;

BEGIN

-- Retrieve the salary for an employee

SELECT salary INTO salary

FROM employees

WHERE last_name = lname;

-- Update the salary for the employee

UPDATE employees

SET salary = salary * 1.1

WHERE last_name = lname;

-- Print the updated salary

DBMS_OUTPUT.PUT_LINE('The new salary for ' || lname || ' is ' || salary);

END;

Use record variable

• Record variable is used to hold a row of data from a table or a query result.

• Here is an example of how to declare and use a record variable in PL/SQL:

DECLARE

TYPE employee_record IS RECORD (

employee_id NUMBER,

first_name VARCHAR2(100),

last_name VARCHAR2(100),
hire_date DATE

);

emp employee_record;

BEGIN

-- Assign values to the record variable

emp.employee_id := 123;

emp.first_name := 'John';

emp.last_name := 'Doe';

emp.hire_date := SYSDATE;

-- Display the values of the record variable

DBMS_OUTPUT.PUT_LINE('Employee ID: ' || emp.employee_id);

DBMS_OUTPUT.PUT_LINE('First Name: ' || emp.first_name);

DBMS_OUTPUT.PUT_LINE('Last Name: ' || emp.last_name);

DBMS_OUTPUT.PUT_LINE('Hire Date: ' || emp.hire_date);

-- Use the record variable in a SQL statement

INSERT INTO employees (employee_id, first_name, last_name, hire_date)

VALUES (emp.employee_id, emp.first_name, emp.last_name, emp.hire_date);

COMMIT;

END;

When using record variable:

• First declare a record type called "employee_record" that defines the structure of the record
variable "emp". It has four fields: employee_id (NUMBER), first_name (VARCHAR2),
last_name (VARCHAR2), and hire_date (DATE).

You might also like