KEMBAR78
PLSQL Scenarios Interview Questions | PDF | Computing | Sql
0% found this document useful (0 votes)
10 views9 pages

PLSQL Scenarios Interview Questions

The document contains a series of PL/SQL interview questions with multiple-choice answers. Each question tests knowledge on various PL/SQL concepts, including updating records, using cursors, raising exceptions, creating procedures, handling errors, triggers, bulk binding, functions, and loops. The correct answers for each question are provided, indicating the appropriate syntax and usage for PL/SQL programming.

Uploaded by

varunsaxena149
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)
10 views9 pages

PLSQL Scenarios Interview Questions

The document contains a series of PL/SQL interview questions with multiple-choice answers. Each question tests knowledge on various PL/SQL concepts, including updating records, using cursors, raising exceptions, creating procedures, handling errors, triggers, bulk binding, functions, and loops. The correct answers for each question are provided, indicating the appropriate syntax and usage for PL/SQL programming.

Uploaded by

varunsaxena149
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/ 9

PL/SQL Scenarios Interview Questions

1. Which block correctly updates salaries by 10% for all employees in 'SALES' department?

• A)

BEGIN
UPDATE employees
SET salary = salary * 1.1
WHERE department = 'SALES';
END;

• B)

BEGIN
IF department = 'SALES' THEN
salary := salary * 1.1;
END IF;
END;

• C)

UPDATE employees
SET salary = salary + 0.10;
WHERE dept = 'SALES';

• D)

BEGIN
UPDATE employees
SET salary = salary + 10%;
WHERE department = 'SALES';
END;

Answer: A

2. Which snippet correctly uses %ROWTYPE to fetch data into a record?

• A)

DECLARE
emp_rec employees%ROWTYPE;
BEGIN
SELECT * INTO emp_rec FROM employees WHERE emp_id = 101;
END;

• B)

DECLARE
emp_rec employees.ROWTYPE;
BEGIN
FETCH emp_rec FROM employees WHERE emp_id = 101;
END;

• C)

DECLARE
emp_rec employees%TYPE;
BEGIN
emp_rec := SELECT * FROM employees WHERE emp_id = 101;
END;

• D)

DECLARE
emp_rec employees;
BEGIN
FETCH INTO emp_rec FROM employees;
END;

Answer: A

3. Which one correctly raises a user-defined exception?

• A)

DECLARE
e_salary EXCEPTION;
BEGIN
RAISE e_salary;
EXCEPTION
WHEN e_salary THEN
DBMS_OUTPUT.PUT_LINE('Custom Error Raised');
END;

• B)
BEGIN
THROW 'Custom Error';
END;

• C)

DECLARE
e_salary EXCEPTION := 'Low Salary';
BEGIN
RAISE e_salary;
END;

• D)

BEGIN
RAISE_APPLICATION_ERROR('Low Salary');
END;

Answer: A

4. Which code correctly declares and uses a parameterized cursor?

• A)

CURSOR c_emp(deptno NUMBER) IS


SELECT * FROM employees WHERE department_id = deptno;

BEGIN
FOR emp IN c_emp(10) LOOP
DBMS_OUTPUT.PUT_LINE(emp.first_name);
END LOOP;
END;

• B)

CURSOR c_emp IS
SELECT * FROM employees;

BEGIN
OPEN c_emp(10);
END;

• C)
DECLARE
deptno NUMBER := 10;
c_emp employees%ROWTYPE;
BEGIN
SELECT * INTO c_emp FROM employees WHERE department_id = deptno;
END;

• D)

OPEN employees(10);
FETCH employees INTO name;
CLOSE employees;

Answer: A

5. Which one is the correct syntax for creating a stored procedure with an IN parameter?

• A)

CREATE PROCEDURE increase_salary(salary IN NUMBER)


IS
BEGIN
UPDATE employees SET salary = salary + salary;
END;

• B)

PROCEDURE increase_salary(salary IN NUMBER)


BEGIN
salary := salary + 1000;
END;

• C)

CREATE OR REPLACE PROCEDURE increase_salary(sal IN NUMBER)


IS
BEGIN
DBMS_OUTPUT.PUT_LINE(sal + 1000);
END;

• D)

CREATE PROCEDURE increase_salary(sal IN NUMBER)


BEGIN
salary = salary + sal;
END;

Answer: C

6. Which block correctly handles a divide-by-zero error using EXCEPTION block?

• A)

BEGIN
x := 10 / 0;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('Division by zero occurred');
END;

• B)

BEGIN
x := divide(10, 0);
CATCH ZERO_DIVIDE
DBMS_OUTPUT.PUT_LINE('Error');
END;

• C)

BEGIN
x := 10 / 0;
EXCEPTION
ZERO_DIVIDE => DBMS_OUTPUT.PUT_LINE('Error');
END;

• D)

BEGIN
x := 10 / 0;
ON ERROR
DBMS_OUTPUT.PUT_LINE('Divide by 0');
END;

Answer: A

7. Which code correctly creates a trigger on employee insert?


• A)

CREATE OR REPLACE TRIGGER trg_emp_insert


AFTER INSERT ON employees
BEGIN
DBMS_OUTPUT.PUT_LINE('Inserted');
END;

• B)

TRIGGER emp_insert
AFTER INSERT
BEGIN
PRINT 'Inserted';
END;

• C)

CREATE TRIGGER trg_emp


ON employees
WHEN INSERTED
BEGIN
DBMS_OUTPUT('Insert');
END;

• D)

CREATE TRIGGER trg_emp


INSERT ON employees
BEGIN
DBMS_OUTPUT.PUT_LINE('Insert');
END;

Answer: A

8. Which PL/SQL construct supports bulk binding for better performance?

• A)

FORALL i IN indices.FIRST .. indices.LAST


INSERT INTO emp VALUES (emp_data(i));

• B)
FOR i IN emp_data LOOP
INSERT INTO emp VALUES (i);
END LOOP;

• C)

LOOP
INSERT INTO emp VALUES (:NEW);
END LOOP;

• D)

BEGIN
BULK INSERT emp_data INTO emp;
END;

Answer: A

9. Which one correctly creates a function returning employee count?

• A)

CREATE OR REPLACE FUNCTION emp_count


RETURN NUMBER
IS
total NUMBER;
BEGIN
SELECT COUNT(*) INTO total FROM employees;
RETURN total;
END;

• B)

FUNCTION emp_count RETURN NUMBER


IS
RETURN SELECT COUNT(*) FROM employees;
END;

• C)

CREATE FUNCTION emp_count()


RETURN INT
AS
BEGIN
RETURN SELECT COUNT(*) FROM employees;
END;

• D)

FUNCTION emp_count():
RETURN COUNT FROM employees;

Answer: A

10. Which code correctly uses a loop to fetch data from an open cursor?

• A)

OPEN c1;
LOOP
FETCH c1 INTO v_id;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_id);
END LOOP;
CLOSE c1;

• B)

LOOP
FETCH INTO c1(v_id);
EXIT WHEN NOTFOUND;
END LOOP;

• C)

OPEN c1;
FETCH c1;
WHILE c1%FOUND LOOP
PRINT c1.id;
END LOOP;

• D)

OPEN c1;
FETCH c1 INTO v_id;
DBMS_OUTPUT.PUT_LINE(v_id);
CLOSE c1;

Answer: A

Follow- Utkarsh Ranjan for more Interview Questions


Follow- Utkarsh Ranjan for more Interview Questions

You might also like