0% found this document useful (0 votes)
4 views

SQL Assignments Uday

The document contains SQL assignments focusing on stored procedures, error handling, and triggers. It includes the creation of a stored procedure for retrieving country payments, a procedure for handling errors during employee data insertion, and a trigger to ensure working hours are non-negative. Each section provides SQL code examples for implementation.

Uploaded by

Uday
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

SQL Assignments Uday

The document contains SQL assignments focusing on stored procedures, error handling, and triggers. It includes the creation of a stored procedure for retrieving country payments, a procedure for handling errors during employee data insertion, and a trigger to ensure working hours are non-negative. Each section provides SQL code examples for implementation.

Uploaded by

Uday
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

SQL ASSIGNMENTS

--- QUESTION - 12 ABOUT STORED PROCEDURES IN SQL WITH PARAMETERS ---

CREATE DEFINER=`root`@`localhost` PROCEDURE


`GET_COUNTRY_PAYMENTS`(YEARNUM INT,COUNTRYNAME VARCHAR(30))

BEGIN

SELECT YEAR(PAYMENTS.PAYMENTDATE) AS YEAR,CUSTOMERS.COUNTRY AS


COUNTRY,CONCAT(ROUND(SUM(PAYMENTS.AMOUNT)/1000),"K") AS
TOTAL_AMOUNT

FROM CUSTOMERS INNER JOIN PAYMENTS ON CUSTOMERS.CUSTOMERNUMBER


= PAYMENTS.CUSTOMERNUMBER

WHERE YEAR(PAYMENTDATE) = YEARNUM AND COUNTRY = COUNTRYNAME


GROUP BY YEAR,COUNTRY;

END

--- QUESTION - 16 ABOUT ERROR HANDLING IN SQL ---

STEP – 1 :

CREATE TABLE EMP_BIT(NAME VARCHAR(30),OCCUPTION


VARCHAR(30),WORKING_DATE DATE,WORKING_HOURS INT);

STEP – 2:

CREATE DEFINER=`root`@`localhost` PROCEDURE


`ERROR_HANDLING`(ID INT,NAME VARCHAR(50),EMAIL VARCHAR(50))
BEGIN

DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT "ERROR


OCCURRED";

INSERT INTO EMP_EH(EMP_ID,EMP_NAME,EMAIL_ADDRESS)


VALUES(ID,NAME,EMAIL);

SELECT * FROM EMP_EH;

END

--- QUESTION-17 ABOUT TRIGGERS ---

STEP – 1:

CREATE TABLE EMP_BIT(NAME VARCHAR(30),OCCUPTION


VARCHAR(30),WORKING_DATE DATE,WORKING_HOURS INT);

STEP – 2:

CREATE DEFINER=`root`@`localhost` TRIGGER


`emp_bit_BEFORE_INSERT` BEFORE INSERT ON `emp_bit` FOR EACH
ROW BEGIN

IF NEW.WORKING_HOURS < 0 THEN

SET NEW.WORKING_HOURS = -(NEW.WORKING_HOURS);

END IF;

END

STEP – 3:
INSERT INTO EMP_BIT VALUES("Robin","Scientist", "2020-10-04",-12),
("Warner","Engineer","2020-10-04", -10),

("Peter", "Actor", "2020-10-04", 13),

("Marco", "Doctor", "2020-10-04", 14),

("Brayden", "Teacher", "2020-10-04", 12),

("Antonio", "Business", "2020-10-04", 11);

You might also like