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

PL-SQL

The document provides examples of PL/SQL programming, including variable declaration, arithmetic operations, string concatenation, conditional statements, loops, and creating sequences. It also covers the creation of a trigger for maintaining historical data upon deletion. Overall, it serves as a guide for basic PL/SQL syntax and functionalities.

Uploaded by

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

PL-SQL

The document provides examples of PL/SQL programming, including variable declaration, arithmetic operations, string concatenation, conditional statements, loops, and creating sequences. It also covers the creation of a trigger for maintaining historical data upon deletion. Overall, it serves as a guide for basic PL/SQL syntax and functionalities.

Uploaded by

meprojects.gg
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

===############# PL/SQL ##############===

=========>>>> 1)
declare
a number(4);
b number(4);
begin
a:=4;
b:=6;
DBMS_OUTPUT.PUT_LINE(a+b);
DBMS_OUTPUT.PUT_LINE('Bhavin' || ' ' || 'Jariwala'); /*concatination of string
using pipe operator*/
end;

=========>>>> 2)
declare
a number(4);
b number(4);
begin

b:=6;
DBMS_OUTPUT.PUT_LINE(a+b);
/*If any one value is NULL than output will be NULL. Default value of variable is
NULL*/
end;

==========>>> CONDITIONAL STATEMENTS <<<============


DECLARE
AGE NUMBER(4);
BEGIN
AGE:=94;
IF AGE>=18 AND AGE<60 THEN
DBMS_OUTPUT.PUT_LINE('You are major now');
ELSIF AGE>=60 THEN
DBMS_OUTPUT.PUT_LINE('You are retired now');
ELSE
DBMS_OUTPUT.PUT_LINE('You are minor yet');
END IF;
END;

==========>>> LOOPS <<<===============


// FOR LOOP
/*
--->SYNTAX:
FOR index IN from..to LOOP
#code
END LOOP;
*/
1)
DECLARE
AC_COUNT ACCOUNT.ACCOUNTNO%TYPE;
BEGIN
SELECT COUNT(ACCOUNTNO) INTO AC_COUNT FROM ACCOUNT;
FOR i IN 1..AC_COUNT LOOP
DBMS_OUTPUT.PUT_LINE('ACCOUNT HOLDER:' || i);
END LOOP;
END;

2)
// LOOP
/*
--->SYNTAX
LOOP

#code
EXIT WHEN exit_condition
END LOOP;
// 'END LOOP' passes control to the 'LOOP'
*/
DECLARE
I NUMBER(6) := 0;
AC_NO ACCOUNT.ACCOUNTNO%TYPE;
BEGIN
AC_NO := 105;
LOOP
AC_NO := AC_NO + 1;
INSERT INTO ACCOUNT VALUES(AC_NO,12000);
I := I + 1;
EXIT WHEN I>5;
END LOOP;
END;

SELECT * FROM ACCOUNT

=====================>>> CREATING SEQUENCE <<<================

/*
--->SYNTAX:
CREATE SEQUENCE sequence_name
STARTS WITH initial_value
INCREMENTED BY incrementation_value
MAXVALUE value till squence will be increment value
MINVALUE minimum value(uses if you decrement value or increment by -1)
CYCLE|NOCYCLE

CYCLE : if sequence reaches it's maximum value it will again starts from initial
value
NOCYCLE: if sequence exceeds its maximum value an exception will be thrown
*/
create sequence bankid
start with 1
increment by 1;
delete from account; //delete all the records from table

begin
insert into account values(bankid.nextval,4500);
insert into account values(bankid.nextval,2500);
insert into account values(bankid.nextval,20000);
insert into account values(bankid.nextval,45000);
insert into account values(bankid.nextval,13000);
insert into account values(bankid.nextval,15000);
insert into account values(bankid.nextval,25000);
end;
select * from account

=================>>>>>>>>> TRIGGER <<<<<<<<<==================

CREATE TRIGGER STU_HISTORY


BEFORE DELETE ON STUD_DATA
FOR EACH ROW
BEGIN
INSERT INTO STU_HISTORY VALUES(:OLD.SID, :OLD.NAME);
END;

delete from stud_data;

select * from stu_history;

You might also like