Skip to main content

PLSQL programming - Part 1

Pre-requisite : Basic SQL Knowledge in Oracle and programming knowledge in any language

Browse my blog to read the overview of PLSQL if you need it.


Anonymous block


.............
........... This is where you declare Variables that you are going to use it in PLSQL block
............ Data types are chosen based on requirement. For example, if you want to process strings you go for data types of characters and for numeric operations Int, float , double or number.
Begins .....
.........
.........
.......... This is where you implement programming logic and get the desired outcome.
..........
..........
Ends.....

We call it anonymous block because we don't name it or reference it. (Unlike Package, Stored procedure,& Other objects)

Learn from examples

Example 1:

declare
var1_num number; --Declaring number type variable
var2_str varchar2;
begin
var1_num := 10; --Assigning 'Number' Value to the variable
var2_str := 'I am a string value';
end;

Example 2: Write anonymous block code in oracle to print your name, age, profession. Assign your DOB as Date type and find your age.

First, write down the logic :
1. Assign name to Char variable
2. Assign DOB to date variable
3. Find age
4 . Print name, age , profession


SET serveroutput ON
DECLARE
name VARCHAR2(40); --To assign name
profession VARCHAR2(40); --To assign profession
dob DATE; --To assign Date of birth as date
salary FLOAT; --To assign salary
age NUMBER; --to find age and assign it to number variable
BEGIN --Begin implementation part
--Implemenation section
name := 'Susil Kumar';
profession :='Software Professional';
dob := '13/mar/1986';
age := sysdate - dob;
salary := 10000.00;
--Printing the details
--To print , we make use of the Oracle supplied package DBMS_OUTPUT
dbms_output.put_line('My name is '||name||'.
I am a '||profession||'. I was born on '||dob||' and i am '||ROUND(age/365,0) ||' now.'||'My profession earns me '||salary||'.');
END;
/


Exercise:
1. Write PLSQL anonymous block to print the following message.
Today is _____(Today's date). The day is ____(Day).




Comments

Jones Jokim said…
begin
dbms_output.put_line('Today is '||sysdate||'. The day is '||to_char(sydate,'day'));
end;

Popular posts from this blog

Design and Operations ( Employee- Model )

-- DB design drop table emp_Salary; drop table emp_Designation; drop table emp; drop table Designations; drop table Departments; drop table Salary_Bands; drop table Addresses; Create table emp( emp_id number, emp_Name varchar2(20), emp_address_id varchar2(10), emp_created_date date, emp_created_by varchar2(20), constraint e_pk primary key(emp_id) ); Create table Departments( dept_id number, dept_name Varchar2(20), constraints dept_pk primary key(dept_id) ); Create table Designations( dept_id number references Departments(dept_id), desg_id number, desg_description varchar2(20), constraints desg_pk primary key(dept_id,desg_id) ); Create table emp_Designation( emp_id number references emp(emp_id), emp_des_dept_id number references departments(dept_...

SQL - Binary Search Tree

Problem Statement You are given a table,   BST , containing two columns:   N  and   P,  where   N   represents the value of a node in   BST , and   P   is the parent of   N . Write a query to find the node type of   BST   ordered by the value of the node. Output one of the following for each node: ·          Root : If node is root node. ·          Leaf : If node is leaf node. ·          Inner : If node is neither root nor leaf node. Sample Input                 N          P 1 2 3 2 6 8 9 8 2 5 8 5 5         null Sample Output 1 Leaf 2 Inner 3 Leaf 5 Root 6 Leaf 8 Inner 9 Leaf Explanation The   BST ...

Minimum / Maximum from the given list

File: Execute.java -------------------------------------------------------------------------------------- package org.developersbrain.Solutions; public class Execute { public static int min(int[] arrList){ int minV1=0; int minV2=0; int aLen=arrList.length; minV1=arrList[0]; minV2=arrList[aLen-1]; for(int i=0,j=aLen-1;i<=aLen/2;i++,j--){ if(minV1 > arrList[i]){ minV1=arrList[i]; } if(minV2 > arrList[j]){ minV2=arrList[j]; } } if(minV2<=minV1){ return minV2; }else{ return minV1; } } public static int max(int[] arrList){ int minV1=0; int minV2=0; int aLen=arrList.length; minV1=arrList[0]; minV2=arrList[aLen-1]; for(int i=0,j=aLen-1;i<=aLen/2;i++,j--){ if(minV1 < arrList[i]){ minV1=arrList[i]; } if(minV2 < arrList[j]){ minV2=arrList[j]; } } if(minV2>=minV1){ return minV2; }else{ return minV1; } } ...