You are on page 1of 4

Identify the Out put of the following Set’s of Code for strored procedure.

Given Table.

Table SQL Script

DBUSER table creation script.

CREATE TABLE DBUSER (


USER_ID NUMBER (5) NOT NULL,
USERNAME VARCHAR2 (20) NOT NULL,
CREATED_BY VARCHAR2 (20) NOT NULL,
CREATED_DATE DATE NOT NULL,
PRIMARY KEY ( USER_ID )
)

Problem A

Here’s a SELECT INTO stored procedure example in Oracle database.

1. Stored Procedure

CREATE OR REPLACE PROCEDURE getDBUSERByUserId(


p_userid IN DBUSER.USER_ID%TYPE,
o_username OUT DBUSER.USERNAME%TYPE,
o_createdby OUT DBUSER.CREATED_BY%TYPE,
o_date OUT DBUSER.CREATED_DATE%TYPE)
IS
BEGIN

SELECT USERNAME , CREATED_BY, CREATED_DATE


INTO o_username, o_createdby, o_date
from DBUSER WHERE USER_ID = p_userid;

END;

2. Calls from PL/SQL


Call from PL/SQL like this :

DECLARE
o_username DBUSER.USERNAME%TYPE;
o_createdby DBUSER.CREATED_BY%TYPE;
o_date DBUSER.CREATED_DATE%TYPE;
BEGIN

getDBUSERByUserId(1001,o_username,o_createdby,o_date);

DBMS_OUTPUT.PUT_LINE('username : ' || o_username);


DBMS_OUTPUT.PUT_LINE('createdby : ' || o_createdby);
DBMS_OUTPUT.PUT_LINE('createddate : ' || o_date);

END;

Problem B

1. Stored Procedure

CREATE OR REPLACE PROCEDURE deleteDBUSER(p_userid IN


DBUSER.USER_ID%TYPE)
IS
BEGIN

DELETE DBUSER where USER_ID = p_userid;

COMMIT;

END;
2. Calls from PL/SQL

BEGIN
deleteDBUSER(1001);
END;

Problem C

1. Stored Procedure

CREATE OR REPLACE PROCEDURE updateDBUSER(


p_userid IN DBUSER.USER_ID%TYPE,
p_username IN DBUSER.USERNAME%TYPE)
IS
BEGIN

UPDATE DBUSER SET USERNAME = p_username where USER_ID = p_userid;

COMMIT;

END;
2. Calls from PL/SQL

BEGIN
updateDBUSER(1001,'new_mkyong');
END;

You might also like