DCL TCL Triggers
DCL TCL Triggers
To create User
To show grants
show grants for ‘Vilasini’@'localhost';
Cd Path
bin>mysql -u Nandhini -p
Enter the password
To change username
To drop user
create table customers1(id int auto_increment primary key,name varchar(20) not null,email
varchar(30),birthdate date);
create table message(id int auto_increment,messageid int,message varchar(300) not
null,primary key(id,messageid));
delimiter $$
create trigger check_null_dob
after insert
on customers1 for each row
begin
if new.birthdate is null then
insert into message values(new.id,new.name,concat('Hi',new.name,'pudob'));
end if;
end
delimiter ;;
Before Update
1. DELIMITER $$
2.
3. CREATE TRIGGER before_update_salesInfo
4. BEFORE UPDATE
5. ON sales_info FOR EACH ROW
6. BEGIN
7. DECLARE error_msg VARCHAR(255);
8. SET error_msg = ('The new quantity cannot be greater than 2 times the current
quantity');
9. IF new.quantity > old.quantity * 2 THEN
10. SIGNAL SQLSTATE '45000'
11. SET MESSAGE_TEXT = error_msg;
12. END IF;
13. END $$
14.
15. DELIMITER ;
AFTER DELETE
1. DELIMITER $$
2.
3. CREATE TRIGGER after_delete_salaries
4. AFTER DELETE
5. ON salaries FOR EACH ROW
6. BEGIN
7. UPDATE total_salary_budget SET total_budget = total_budget - old.amount;
8. END$$
9.
10. DELIMITER ;
1. DELIMITER $$
2.
3. CREATE TRIGGER before_delete_salaries
4. BEFORE DELETE
5. ON salaries FOR EACH ROW
6. BEGIN
7. INSERT INTO salary_archives (emp_num, valid_from, amount)
8. VALUES(OLD. emp_num, OLD.valid_from, OLD.amount);
9. END$$
10.
11. DELIMITER ;
Triggers Program