Professional Documents
Culture Documents
Rohit (Procedure)
Rohit (Procedure)
Rohit (Procedure)
-- 2ND CANDIDATE_MASTER
CREATE TABLE CANDIDATE_MASTER
(
CANDIDATE_ID NUMBER,
CITIZEN_ID NUMBER
);
--3RD VOTE
CREATE TABLE VOTE
(
SL_NO NUMBER,
CITIZEN_ID NUMBER,
CANDIDATE_ID NUMBER
);
--========================================
SELECT * FROM CITIZEN_MASTER;
SELECT * FROM CANDIDATE_MASTER;
SELECT * FROM VOTE;
--================================================
-- SEQUENCE CREATION
CREATE SEQUENCE SL_NO_SEQ
START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-- PROCEDURE CREATION
AS
--1ST CURSOR
CURSOR CM IS SELECT * FROM CITIZEN_MASTER WHERE CITIZEN_ID NOT IN(SELECT
CITIZEN_ID FROM CANDIDATE_MASTER)
ORDER BY CITIZEN_ID;
-- 2ND CURSOR
CURSOR CM1 IS SELECT C1.CITIZEN_ID,C1.CITIZEN_NAME,C2.CANDIDATE_ID FROM
CITIZEN_MASTER C1
INNER JOIN CANDIDATE_MASTER C2
ON C1.CITIZEN_ID = C2.CITIZEN_ID;
--3RD CURSOR
CURSOR DELL IS
SELECT C.CITIZEN_NAME ,COUNT(V.CANDIDATE_ID) AS VOTES
FROM CITIZEN_MASTER C
JOIN CANDIDATE_MASTER CM
ON C.CITIZEN_ID = CM.CITIZEN_ID
JOIN VOTE V
ON CM.CANDIDATE_ID = V.CANDIDATE_ID
GROUP BY C.CITIZEN_NAME;
--variable declaration:
VOTE_COUNT NUMBER;
CITIZEN_COUNT NUMBER;
V_CANDIDATE NUMBER;
--V_VOTE NUMBER;
BEGIN
SELECT COUNT(CANDIDATE_ID) INTO V_CANDIDATE FROM CANDIDATE_MASTER WHERE
CANDIDATE_ID = P_CANDIDATE_ID;
ELSE
DBMS_OUTPUT.PUT_LINE('you can vote only Candidate...!!!');
END IF;
ELSE
DBMS_OUTPUT.PUT_LINE('One Citizen Can Vote Once');
END IF;
ELSE
DBMS_OUTPUT.PUT_LINE('Candidate Cannot Give Vote');
END IF;
END IF;
--1 Write a Query to select all the citizen those are not candidates.
EXEC SP_VOTER_PROCEDURE_SCENARIO(P_ACTION=>'VIEW ALL THE CITIZENS');
--3 One citizen can vote once, if voted successfully then it will be saved into
vote table.
-- If the same citizen tried to give vote another time exception or error message
will be
-- raised that ‘Once Citizen Can Vote Once’.
--4. Candidate cannot give vote, if tried to give vote then exception or error
message
-- will be raised that ‘Candidate Cannot Give Vote’.
EXEC SP_VOTER_PROCEDURE_SCENARIO ('VOTING',11,7);
EXEC SP_VOTER_PROCEDURE_SCENARIO ('VOTING',1,6);
--5
EXEC SP_VOTER_PROCEDURE_SCENARIO ('VOTING',19,15);
EXEC SP_VOTER_PROCEDURE_SCENARIO ('VOTING',2,11);
--=================================================
SELECT * FROM CITIZEN_MASTER;
SELECT * FROM CANDIDATE_MASTER;
SELECT * FROM VOTE;
--==================================================