0% found this document useful (0 votes)
2 views5 pages

PLSQL Journal Programs 6 To 17

The document contains a series of PL/SQL programs that demonstrate various programming concepts. These include printing numbers in ascending and descending order, concatenating strings, calculating factorials, generating Fibonacci series, reversing numbers and strings, creating multiplication tables, and checking for palindromes. Each program is structured with a DECLARE and BEGIN block, showcasing the use of loops and conditional statements.

Uploaded by

pandaffbhumre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views5 pages

PLSQL Journal Programs 6 To 17

The document contains a series of PL/SQL programs that demonstrate various programming concepts. These include printing numbers in ascending and descending order, concatenating strings, calculating factorials, generating Fibonacci series, reversing numbers and strings, creating multiplication tables, and checking for palindromes. Each program is structured with a DECLARE and BEGIN block, showcasing the use of loops and conditional statements.

Uploaded by

pandaffbhumre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

PL/SQL Journal Programs (6 to 17)

6. PRINT 1 TO N NUMBERS

DECLARE
n NUMBER := 10;
i NUMBER := 1;
BEGIN
WHILE i <= n LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;
END;
/

7. PRINT N TO 1 NUMBERS

DECLARE
n NUMBER := 10;
BEGIN
FOR i IN REVERSE 1..n LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END;
/

8. CONCATENATE TWO STRINGS

DECLARE
str1 VARCHAR2(50) := 'Hello';
str2 VARCHAR2(50) := 'FYBCA';
result VARCHAR2(100);
BEGIN
result := str1 || ' ' || str2;
DBMS_OUTPUT.PUT_LINE(result);
END;
/

9. PRINT FACTORIAL

DECLARE
n NUMBER := 5;
fact NUMBER := 1;
i NUMBER;
BEGIN
FOR i IN 1..n LOOP
fact := fact * i;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Factorial: ' || fact);
END;
/

10. PRINT MARKSHEET

DECLARE
name VARCHAR2(50) := 'John';
marks NUMBER := 85;
BEGIN
DBMS_OUTPUT.PUT_LINE('Student: ' || name);
DBMS_OUTPUT.PUT_LINE('Marks: ' || marks);
IF marks >= 50 THEN
DBMS_OUTPUT.PUT_LINE('Status: PASS');
ELSE
DBMS_OUTPUT.PUT_LINE('Status: FAIL');
END IF;
END;
/

11. GENERATE FIBONACCI SERIES

DECLARE
a NUMBER := 0;
b NUMBER := 1;
c NUMBER;
n NUMBER := 10;
i NUMBER;
BEGIN
DBMS_OUTPUT.PUT_LINE(a);
DBMS_OUTPUT.PUT_LINE(b);
FOR i IN 1..n-2 LOOP
c := a + b;
DBMS_OUTPUT.PUT_LINE(c);
a := b;
b := c;
END LOOP;
END;
/

12. REVERSE INPUT NUMBER

DECLARE
num NUMBER := 1234;
rev NUMBER := 0;
rem NUMBER;
BEGIN
WHILE num > 0 LOOP
rem := MOD(num, 10);
rev := rev * 10 + rem;
num := TRUNC(num / 10);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Reversed Number: ' || rev);
END;
/

13. REVERSE INPUT STRING

DECLARE
str VARCHAR2(50) := 'FYBCA';
rev_str VARCHAR2(50) := '';
i NUMBER;
BEGIN
FOR i IN REVERSE 1..LENGTH(str) LOOP
rev_str := rev_str || SUBSTR(str, i, 1);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Reversed String: ' || rev_str);
END;
/

14. MULTIPLICATION TABLE

DECLARE
num NUMBER := 5;
i NUMBER;
BEGIN
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(num || ' x ' || i || ' = ' || (num * i));
END LOOP;
END;
/

15. SUM OF EVEN DIGITS

DECLARE
num NUMBER := 123456;
sum_even NUMBER := 0;
digit NUMBER;
BEGIN
WHILE num > 0 LOOP
digit := MOD(num, 10);
IF MOD(digit, 2) = 0 THEN
sum_even := sum_even + digit;
END IF;
num := TRUNC(num / 10);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Sum of Even Digits: ' || sum_even);
END;
/

16. SUM OF ODD DIGITS

DECLARE
num NUMBER := 123456;
sum_odd NUMBER := 0;
digit NUMBER;
BEGIN
WHILE num > 0 LOOP
digit := MOD(num, 10);
IF MOD(digit, 2) <> 0 THEN
sum_odd := sum_odd + digit;
END IF;
num := TRUNC(num / 10);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Sum of Odd Digits: ' || sum_odd);
END;
/

17. CHECK PALINDROME NUMBER

DECLARE
num NUMBER := 121;
temp NUMBER;
rev NUMBER := 0;
digit NUMBER;
BEGIN
temp := num;
WHILE temp > 0 LOOP
digit := MOD(temp, 10);
rev := rev * 10 + digit;
temp := TRUNC(temp / 10);
END LOOP;
IF rev = num THEN
DBMS_OUTPUT.PUT_LINE(num || ' is a Palindrome');
ELSE
DBMS_OUTPUT.PUT_LINE(num || ' is NOT a Palindrome');
END IF;
END;
/

You might also like