NEW
Font size
WorksheetsChapter Quiz
Total questions: 10
Worksheet time: 5mins
Which of the following is the correct syntax for an IF statement in PL/SQL?
IF condition THEN statement; END IF;
IF condition BEGIN statement; END;
IF condition THEN BEGIN statement; END IF;
IF condition THEN statement END;
In PL/SQL, what would be the output if the following block is executed where v_num := 15?
DECLARE
v_num NUMBER := 15;
BEGIN
CASE
WHEN v_num > 10 THEN
DBMS_OUTPUT.PUT_LINE('Greater than 10');
WHEN v_num <= 10 THEN
DBMS_OUTPUT.PUT_LINE('Less than or equal to 10');
ELSE
DBMS_OUTPUT.PUT_LINE('Unknown');
END CASE;
END;
Greater than 10
Less than or equal to 10
Unknown
No output
What will be the output of the following PL/SQL block?
DECLARE
v_num NUMBER := 1;
BEGIN
WHILE v_num <= 5 LOOP
DBMS_OUTPUT.PUT_LINE(v_num);
v_num := v_num + 1;
END LOOP;
END;
1 2 3 4 5
1 2 3 4
1 1 1 1 1
Error
Which of the following is the correct syntax for a FOR loop in PL/SQL?
FOR i IN 1 TO 10 LOOP ... END LOOP;
FOR i IN 1..10 LOOP ... END LOOP;
FOR i IN (1..10) LOOP ... END LOOP;
FOR i = 1 TO 10 LOOP ... END LOOP;
What is the purpose of the CONTINUE statement in a PL/SQL loop?
It terminates the loop.
It exits the current iteration of the loop and moves to the next iteration.
It restarts the loop.
It pauses the loop for a given time.
What will be the output of the following PL/SQL block?
DECLARE
v_num NUMBER := 0;
BEGIN
LOOP
v_num := v_num + 1;
EXIT WHEN v_num = 5;
END LOOP;
DBMS_OUTPUT.PUT_LINE(v_num);
END;
1
4
5
Infinite loop
What does the %TYPE attribute in PL/SQL do?
It defines the data type of a variable as a reference to a column type in a table.
It defines the default value of a variable.
It defines the size of a variable.
It converts the variable to a BOOLEAN type.
Which of the following statements correctly defines a variable with the %TYPE attribute to match the data type of a salary column in a table named employees?
DECLARE v_salary employees.salary%TYPE;
DECLARE v_salary NUMBER%TYPE;
DECLARE v_salary NUMBER;
DECLARE v_salary employees.salary;
Which of the following is the correct syntax to declare an explicit cursor in PL/SQL?
CURSOR c_emp IS SELECT * FROM employees;
DECLARE c_emp IS CURSOR SELECT * FROM employees;
CURSOR c_emp (parameter_name datatype) IS SELECT * FROM employees WHERE emp_id = parameter_name;
DECLARE CURSOR c_emp IS SELECT * FROM employees;
What does the %NOTFOUND attribute return when working with cursors in PL/SQL?
TRUE if the last FETCH did not return any rows
TRUE if the cursor is closed
FALSE if the last FETCH did not return any rows
FALSE if the cursor is open
