0
0
SQLquery~20 mins

Parameters (IN, OUT, INOUT) in SQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Parameter Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Output of a procedure with IN and OUT parameters
Consider the following SQL procedure that takes an IN parameter and an OUT parameter. What will be the value of the OUT parameter after execution?

Procedure:
CREATE PROCEDURE CalculateSquare(IN input_num INT, OUT output_num INT)
BEGIN
SET output_num = input_num * input_num;
END;

Call:
CALL CalculateSquare(4, @result);
SELECT @result;
SQL
CREATE PROCEDURE CalculateSquare(IN input_num INT, OUT output_num INT)
BEGIN
  SET output_num = input_num * input_num;
END;

CALL CalculateSquare(4, @result);
SELECT @result;
A4
B16
CNULL
D8
Attempts:
2 left
💡 Hint
Remember that the OUT parameter is assigned inside the procedure.
query_result
intermediate
2:00remaining
Effect of INOUT parameter modification inside procedure
Given the procedure below, what will be the value of the variable @val after calling the procedure?

Procedure:
CREATE PROCEDURE IncrementValue(INOUT val INT)
BEGIN
SET val = val + 10;
END;

Call:
SET @val = 5;
CALL IncrementValue(@val);
SELECT @val;
SQL
CREATE PROCEDURE IncrementValue(INOUT val INT)
BEGIN
  SET val = val + 10;
END;

SET @val = 5;
CALL IncrementValue(@val);
SELECT @val;
A10
B5
C15
DNULL
Attempts:
2 left
💡 Hint
INOUT parameters can be changed inside the procedure and the change is reflected outside.
📝 Syntax
advanced
2:00remaining
Identify the syntax error in procedure parameter declaration
Which option contains a syntax error in the declaration of procedure parameters?
ACREATE PROCEDURE TestProc(OUT param1 INT, IN param2 INT) BEGIN END;
BCREATE PROCEDURE TestProc(IN param1 INT, INOUT param2 INT) BEGIN END;
CCREATE PROCEDURE TestProc(IN param1 INT, OUT param2 VARCHAR(20)) BEGIN END;
DCREATE PROCEDURE TestProc(param1 INT, param2 INT) BEGIN END;
Attempts:
2 left
💡 Hint
Parameters must specify mode: IN, OUT, or INOUT unless default is IN.
🧠 Conceptual
advanced
2:00remaining
Understanding parameter modes in stored procedures
Which statement correctly describes the behavior of IN, OUT, and INOUT parameters in stored procedures?
AOUT parameters must be assigned a value inside the procedure to return data.
BIN parameters can be modified inside the procedure and changes are reflected outside.
CINOUT parameters cannot be used to pass initial values into the procedure.
DOUT parameters are read-only inside the procedure.
Attempts:
2 left
💡 Hint
Think about which parameters are used to send data back to the caller.
🔧 Debug
expert
2:00remaining
Why does this procedure call fail?
Given the procedure and call below, why does the call fail?

Procedure:
CREATE PROCEDURE UpdateValue(INOUT val INT)
BEGIN
SET val = val * 2;
END;

Call:
CALL UpdateValue(10);
SQL
CREATE PROCEDURE UpdateValue(INOUT val INT)
BEGIN
  SET val = val * 2;
END;

CALL UpdateValue(10);
AINOUT parameters require a variable, not a constant, to be passed.
BINOUT parameters cannot be used with numeric types.
CThe procedure call syntax is missing a semicolon.
DThe procedure must use OUT instead of INOUT for this call.
Attempts:
2 left
💡 Hint
Consider what kind of argument can be passed to an INOUT parameter.