IMG-LOGO
×

Giáo Trình Môn Học

Khoá học lập trình SQL

Kiến Thức Core SQL Server

[Video] Hướng dẫn cách xác định kiểu dữ liệu, primary key, foreign key trong SQL - My SQL - SQL Server [Video] Hướng dẫn thao tác nhiểu bảng - select - multi table - join, inner join trong SQL Server [Video] Hướng dẫn phân tích CSDL - phân tích bảng, column trong bản - Học lập trình SQL, SQL Server [Video] Hướng dẫn tìm hiểu create, alter , insert table và bản chất primary key, foreign key - SQL Server [Video] Hướng dẫn tìm hiểu select, and, in, like, not in,group by .. having, order by asc, desc - SQL Server [Video] Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

View SQL Server

[Video] Hướng dẫn tìm hiểu view trong SQL Server Bài Giảng: Hướng dẫn tìm hiểu view + proc trong SQL - Lập trình SQL Server

Store & Procedure

[Video] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL Bài Giảng: Xây dự hệ thống đưa đón học sinh bằng xe bus của Trường Học - Lập trình SQL Server [Video] Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Trigger

[Video] Học Trigger qua ví dụ - quản lý nhà trên phố - Lập trình SQL Server [Video] Hướng dẫn học trigger qua bài quản lý điểm danh Aptech - Lập trình SQL Server [Video] Bài tập - Quản lý nhân khẩu - Lập trình SQL Server - MySQL




Trang Chủ SQL Server/MySQL [Share Code] Tìm hiểu index, trigger trong lập trình SQL Server

[Share Code] Tìm hiểu index, trigger trong lập trình SQL Server

by Do Trung Duc - 15:19 02/12/2020 1,714 Lượt Xem



select * from Student

create clustered index ci_firstname on Student (firstname)

create nonclustered index ci_lastname on Student (lastname)
create nonclustered index ci_address on Student (address)

-- Trigger
select * from Student2

alter table Student2
add gender nvarchar(16)

update Student2 set gender = 'Nam'

alter table Student2
add constraint check_gender check (gender in ('Nam', 'Nu'))

alter table Student2
drop constraint check_gender

--- Yeu cau: gender => Nam, Nu
--- Cai dat dieu kien gi de gender chi nhan gia tri Nam, Nu => ko insert cac gia tri khac
 insert into Student2(rollno, firstname, lastname, address, phone, email, age, gender)
 values
 ('R004', 'ABC', 'OKOK', 'Ha Noi', '12321312', '[email protected]', 55, 'Xin Chao')

 delete from Student2 where rollno = 'R003'

 -- đề cập tới table => insert, update, delete => Mỗi một lệnh có thể gắn với 1 trigger
 ---- trigger insert vao bang Student2
 create trigger trigger_insert_student2 on Student2
 for insert
 as
 begin
	-- lenh kiem tra
	if (select gender from inserted) <> 'Nam' and (select gender from inserted) <> 'Nu'
	begin
		print N'Yeu cau du lieu nhap vao Nam hoac Nu'
		rollback transaction
	end
 end

 drop trigger trigger_insert_student2

 ----- trigger update cho bang Student2
 select * from Student2

 update Student2 set gender = 'XinChao' where rollno = 'R003'

 update Student2 set phone = '11111111' where rollno = 'R003'

 create trigger trigger_update_student2 on Student2
 for update
 as
 begin
	if (select gender from inserted) <> 'Nam' and (select gender from inserted) <> 'Nu'
	begin
		print N'Yeu cau du lieu nhap vao Nam hoac Nu'
		rollback transaction
	end
 end

 select * from Student2
 --- Ko cho phep xoa phan tu rollno = R000
 create trigger trigger_delete_student2 on Student2
 for delete
 as
 begin
	if (select rollno from deleted) = 'R000'
	begin
		print N'Khong dc xoa phan tu R000'
		rollback transaction
	end
 end
 
 delete from Student2 where rollno = 'R000'
 delete from Student2 where rollno = 'R003'

 --- Kiem soat du lieu : category, news
 select * from category
 select * from news

--- delete from news where id_category = 1
 delete from category where id = 1

 create trigger trigger_instead_of_delete_category on category
 instead of delete
 as
 begin
	delete from news where id_category in (select id from deleted)
	delete from category where id in (select id from deleted)
 end




Bình luận



Phản Hồi Bởi:

(1) Đỗ Minh Quân [T2008A]

Chia sẻ từ lớp học

Đã sao chép!!!