Friday 16 May 2014

using simple loop in plsql


begin
for i in 1 .. 5
loop
dbms_output.put_line('******TABLE'||' '||i||'******');
 for j in 1 .. 10
 loop
 dbms_output.put_line('    '|| i||'*'||j||'='||i*j);
 end loop;

end loop;
end;
/        

using case in plsql part3


DECLARE
l_maths number;
l_eng number;
l_hindi number;
l_sci number;
l_soc number;
l_san number;
l_tot_mars number;
mark_percent number;
grade number :=100;
BEGIN

select maths,eng,hindi,sci,soc,san,tot_mars into l_maths,l_eng,l_hindi,l_sci,l_soc,l_san,l_tot_mars
from student where stud_id = :v_stud_id;

mark_percent := l_tot_mars/ 600;

 CASE
 
   when (mark_percent >= 75) then             dbms_output.put_line('Excellent');
   when mark_percent <=75 and mark_percent >=60 then dbms_output.put_line('Very good');
   when mark_percent <=60 and mark_percent >=50 then dbms_output.put_line('Well done');
   when mark_percent <=50 and mark_percent >=40 then dbms_output.put_line('You passed');
   when mark_percent <=40 and mark_percent >=35 then dbms_output.put_line('Better try again');
   else dbms_output.put_line('No such grade');
   END CASE;

END stud_pro;

using case in plsql part2

DECLARE
grade number :=100;
BEGIN

 CASE
 
   when (grade >= 75) then             dbms_output.put_line('Excellent');
   when grade <=75 and grade >=60 then dbms_output.put_line('Very good');
   when grade <=60 and grade >=50 then dbms_output.put_line('Well done');
   when grade <=50 and grade >=40 then dbms_output.put_line('You passed');
   when grade <=40 and grade >=35 then dbms_output.put_line('Better try again');
   else dbms_output.put_line('No such grade');
   END CASE;

END;

using case in plsql

DECLARE
grade char(1) := 'A';
BEGIN
 CASE
   grade
   when 'A' then dbms_output.put_line('Excellent');
   when 'B' then dbms_output.put_line('Very good');
   when 'C' then dbms_output.put_line('Well done');
   when 'D' then dbms_output.put_line('You passed');
   when 'E' then dbms_output.put_line('Better try again');
   else dbms_output.put_line('No such grade');
   END CASE;

END;

using if else with logical operators in plsql


DECLARE
a boolean := true;
 b boolean := false;

 BEGIN

 IF (a AND b) THEN
 dbms_output.put_line('Line 1 - Condition is true');
 END IF;

 IF (a OR b) THEN
 dbms_output.put_line('Line 2 - Condition is true');
 END IF;

 IF (NOT a) THEN
 dbms_output.put_line('Line 3 - a is not true');
 ELSE
 dbms_output.put_line('Line 3 - a is true');
 END IF;
 
     IF (NOT b) THEN
     dbms_output.put_line('Line 4 - b is not true');
     ELSE
     dbms_output.put_line('Line 4 - b is true');
     END IF;
END;

Using if else condition in plsql 2

DECLARE
letter varchar2(1) := 'm';
BEGIN

    IF (letter in ('a', 'b', 'c')) THEN
    dbms_output.put_line('True');
    ELSE
    dbms_output.put_line('False');
    END IF;
 
    IF (letter in ('m', 'n', 'o')) THEN
    dbms_output.put_line('True');
    ELSE
    dbms_output.put_line('False');
    END IF;
   
    IF (letter is null) THEN
    dbms_output.put_line('True');
    ELSE
    dbms_output.put_line('False');
    END IF;
END;
/

Using IF ELSE Condition in plsql

 DECLARE
x number(2) := 10;

BEGIN

IF (x between 5 and 20) THEN
 dbms_output.put_line('True');
  ELSE
  dbms_output.put_line('False');
END IF;
 
 IF (x BETWEEN 5 AND 10) THEN
    dbms_output.put_line('True');
 ELSE
 dbms_output.put_line('False');
 END IF;

 IF (x BETWEEN 11 AND 20) THEN
 dbms_output.put_line('True');
 ELSE
 dbms_output.put_line('False');
 END IF;

END;
/

using IF Condition in plsql

DECLARE
PROCEDURE compare (value varchar2, pattern varchar2 )
 is
BEGIN

 IF value LIKE pattern THEN
 dbms_output.put_line ('True');
 ELSE
 dbms_output.put_line ('False');
 END IF;

END;


 BEGIN
 compare('Zara Ali', 'Z%A_i');
 compare('Nuha Ali', 'Z%A_i');
 END;

 /

how to comparison operators in plsql

DECLARE
a number (2) := 21;
b number (2) := 10;
BEGIN
 IF (a = b) then
  dbms_output.put_line('Line 1 - a is equal to b');
  ELSE
  dbms_output.put_line('Line 1 - a is not equal to b');
 END IF;
 
 IF (a < b) then
  dbms_output.put_line('Line 2 - a is less than b');
  ELSE
  dbms_output.put_line('Line 2 - a is not less than b');
 END IF;

 IF ( a > b ) THEN
 dbms_output.put_line('Line 3 - a is greater than b');
 ELSE
 dbms_output.put_line('Line 3 - a is not greater than b');
 END IF;
 -- Lets change value of a and b
 a := 5;
 b := 20;

 IF ( a <= b ) THEN
  dbms_output.put_line('Line 4 - a is either equal or less than b');
 END IF;

    IF ( b >= a ) THEN
     dbms_output.put_line('Line 5 - b is either equal or greater than a');
      END IF;
 
     IF ( a <> b ) THEN
       dbms_output.put_line('Line 6 - a is not equal to b');
       ELSE
       dbms_output.put_line('Line 6 - a is equal to b');
     END IF;
 END;
/

plsql inner block 2

DECLARE
-- Global variables
num1 number := 95;
num2 number := 85;
num3 number;
BEGIN
dbms_output.put_line('Outer Variable num1: ' || num1);
dbms_output.put_line('Outer Variable num2: ' || num2);
dbms_output.put_line('Inner Variable num1: ' || num3);
   DECLARE
  -- Local variables
   num3 number := 195;
   num4 number := 185;
   BEGIN
     dbms_output.put_line('Inner Variable num1: ' || num3);
     dbms_output.put_line('Inner Variable num2: ' || num4);
     dbms_output.put_line('Outer Variable num1: ' || num1);
    END;
END;

Simple plsql program 3

DECLARE
a integer := 10;
b integer := 20;
c integer;
f number(10,2);
f1 number;
BEGIN
c := a + b;
dbms_output.put_line('Value of c: ' || c);
f := 70.0/3.0;
dbms_output.put_line('Value of f: ' || f);
f1 := a*b;
dbms_output.put_line('Value of f: ' || f1);

END;

plsql inner blocks

DECLARE
SUBTYPE name IS char(20);
SUBTYPE message IS varchar2(100);
today date:=sysdate;
salutation name;
greetings message;
counter binary_integer := 0;
greetings1 varchar2(20) DEFAULT 'Have a Good Day';

BEGIN
salutation := 'Reader ';
greetings := 'Welcome to my  Blog';

 dbms_output.put_line('Hello ' || salutation || greetings||today);
 dbms_output.put_line('Hello ' ||'Counter :'||counter||'  '||'Greet:'||greetings1);
END;
/

Simple plsql program 2

   
BEGIN
  salutation := 'Reader ';
  greetings := 'Welcome to my blog';
   
  dbms_output.put_line('Hello ' || salutation || greetings);
       
EXCEPTION
when others then
null;
--<exception handling Statements>
END;

Simple PLSQL Program

DECLARE

  -- single line ccmments
   --
 
   --multi line comments
   /*
   --- n number of statements
 
   */

   --<declarations section>
   --variables
   --char type
   --declare variables using %TYPE,%ROWTYPE
   --declare records as PLSQL TABLE TYPE
   -- declare global variables
   --number type
   --date type
   -- cursor
   -- exceptions
   --subprograms
 --
stud_id  number;
stud_name varchar2(15) :='SATHISH';
join_date date := sysdate;
SUBTYPE name IS char(20);
SUBTYPE message IS varchar2(100);
salutation name; greetings message;

BEGIN
--<executable command(s)>
  --we can use dml statements
     -- insert ,update,delete,select....
     -- we can use operations
     -- we can write all loop conditions
     --here we raise exceptions
     -- we can open the cursor, fetch,close
   
     /* dbms_output.put_line('OUTER BEGIN');
        dbms_output.put_line('Student ID:'||stud_id);
     */
     null;
    stud_id :=10;
--    stud_name := 'SATHISH';  
     dbms_output.put_line('OUTER BEGIN');
     dbms_output.put_line('Student ID:'||stud_id);
     dbms_output.put_line('Student Name:'||stud_name);
     dbms_output.put_line('Student Join Date:'||join_date);
     begin
      null;
      stud_id :=20;
       stud_name :='RAM';
      dbms_output.put_line('INNER BEGIN');
      dbms_output.put_line('Student ID:'||stud_id);
      dbms_output.put_line('Student ID:'||stud_name);
      dbms_output.put_line('Student ID:'||join_date);
     -- all executable statements
     exception
     when others then
     null;
     end;