Professional Documents
Culture Documents
COMMIT;
--------------------------------------------------------------------------------
-- TRIGGER FOR AGE ABOVE 18 AND DATE OF BIRTH MUST BE IN DD/MM/YYYY FORMAT
CREATE OR REPLACE TRIGGER TRIGGER_DOB
BEFORE INSERT OR UPDATE ON BORADBAND_REGISTRATION_DETAILS
FOR EACH ROW
BEGIN
IF :NEW.DOB > ADD_MONTHS(SYSDATE, -12*18)
THEN
RAISE_APPLICATION_ERROR (-20001, 'AGE MUST NOT BELOW 18');
ELSIF :NEW.DOB != TO_DATE(TO_CHAR(:NEW.DOB,'DD-MM-YYYY'))
THEN
RAISE_APPLICATION_ERROR (-20002, 'DATE OF BIRTH MUST BE IN DD/MM/YYYY FORMAT');
END IF;
END;
IF V_COUNT = 0
THEN
IF LENGTH(P_APPLICANT_NAME) > 3 AND regexp_like(P_APPLICANT_NAME,
'^[^a-zA-Z]*$')
THEN
BEGIN
E_INVALID_DOB := TO_DATE(P_DOB,'DD/MM/YYYY');
INSERT INTO BORADBAND_REGISTRATION_DETAILS (REGISTRATION_ID,
APPLICANT_NAME, EMAIL_ID, MOBILE_NO, GENDER, DOB,
IMAGE_PATH, PROVIDER_ID, CONNECTION_ID)
VALUES (NVL((SELECT MAX(REGISTRATION_ID) FROM
BORADBAND_REGISTRATION_DETAILS),0)+1, UPPER(P_APPLICANT_NAME),
UPPER(P_EMAIL_ID), P_MOBILE_NO, UPPER(P_GENDER), E_INVALID_DOB,
UPPER(P_IMAGE_PATH), P_PROVIDER_ID, V_CONNECTION_ID);
DBMS_OUTPUT.PUT_LINE ('Successfully Registered!!');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('DATE OF BIRTH MUST BE IN DD/MM/YYYY
FORMAT');
END;
ELSE
DBMS_OUTPUT.PUT_LINE ('APPLICANT NAME MUST BE MORE THAN 3 CHAR LONG
AND CONTAIN ONLY ALPHABETS');
END IF;
ELSIF V_COUNT = 1
THEN
DBMS_OUTPUT.PUT_LINE ('Mobile Number or Email ID Already Exists!!
Please Try Again Using New Email and New Phone Number');
END IF;
END;
END IF;
END SP_BROADBAND_CONNECTION;
BEGIN
SP_BROADBAND_CONNECTION (10, '100 MBPS', 'SUM43NT', 'SUMANT@GMAIL.COM',
'8908123456', '19-02-1995', 'MALE', 'C', 'C');
END;