PLSQL Journal Programs 6 To 17
PLSQL 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;
/
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;
/
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;
/
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;
/
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;
/
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;
/
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;
/
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;
/
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;
/
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;
/