PDA

View Full Version : Mong mọi người giúp đỡ



minhtuyenctk32
22-05-2011, 12:55
Mong các anh chị giúp em với. Em có một bảng DeTai(Đề tài) như sau:
DeTai(MaDT varchar(3), TenDT nvarchar(50), MaGV_HG varchar(7), Lop varchar(5), Nghanh nvarchar(30)).
Em muốn làm cái Trigger để kiểm tra khi thêm hay Sửa DeTai thì TenDT(Tên đề tài) không được trùng nhau thì phải làm sao, nếu khi thêm hay sửa mà TenDT đã tồn tại thì hủy bỏ thủ tục. Em thử làm như sau mà không được:

CREATE TRIGGER TenDT
ON DeTai
AFTER INSERT, UPDATE
AS
BEGIN
DECLARE @tendt nvarchar(50)
SELECT * FROM DeTai AS TB
SELECT @tendt = TenDT FROM INSERTED
IF(@tendt in (SELECT TenDT FROM TB))
BEGIN
ROLLBACK TRAN
RAISERROR(N'Tên đề tài này đã tồn tại',10,1)
END
END


Mong các anh chị giúp cho, em đang cần gấp.
Cám ơn các anh chị trước nhé!

[=========> Bổ sung bài viết <=========]

Sao không có anh chị nào giúp cho em vậy, buồn quá ah

Truongtn
24-05-2011, 16:37
Bạn không nên tạo Triger kiểm tra mà dùng khóa Unique. Có thể tạo khóa này bằng giao diện hay bằng câu lệnh: Create Unique Index ....

Good luck,

minhtuyenctk32
24-05-2011, 17:38
Truongtn nói em ko hiểu lắm, em ko làm trigger nữa mà em bắt lỗi ngay trong chương trình. bài tập em nộp rùi. dù sao cũng cám ơn Truongtn đã góp ý.