--Bai tap ve nha
create view RevOrderDetails as
select o.OrderID,CustomerID,ProductID,Quantity
from [Order Details] od, Orders o
where od.OrderID=o.OrderID
select * from RevOrderDetails
alter trigger DeleteOrder
on RevOrderDetails instead of Delete
as
begin
delete from [Order Details] where OrderID in(select OrderID from deleted)
delete from Orders where OrderID in (select OrderID from deleted)
end
delete from RevOrderDetails where OrderID=10248
Po shfaqen postimet me emërtimin SQL_P2_Session 16_Trigger. Shfaq të gjitha postimet
Po shfaqen postimet me emërtimin SQL_P2_Session 16_Trigger. Shfaq të gjitha postimet
e hënë, 25 qershor 2007
Phần II_p228_Q3 và Q4
--3.
sp_helptext InsertSales
--4.
alter trigger UpdateTitleAdvance
on titles with encryption
for update
as
if (select advance from inserted)>15000
begin
print 'Gia tri cua cot advance phai nho hon 15000'
rollback transaction
end
sp_helptext UpdateTitleAdvance
sp_helptext InsertSales
--4.
alter trigger UpdateTitleAdvance
on titles with encryption
for update
as
if (select advance from inserted)>15000
begin
print 'Gia tri cua cot advance phai nho hon 15000'
rollback transaction
end
sp_helptext UpdateTitleAdvance
Emërtimet:
SQL,
SQL_P2,
SQL_P2_Session 16_Trigger
Phần II_p228_Q2
create trigger UpdateTitleAdvance
on titles
for update
as
if (select advance from inserted)>15000
begin
print 'Gia tri cua cot advance phai nho hon 15000'
rollback transaction
end
update titles set advance=16000 where title_id='BU1032'
on titles
for update
as
if (select advance from inserted)>15000
begin
print 'Gia tri cua cot advance phai nho hon 15000'
rollback transaction
end
update titles set advance=16000 where title_id='BU1032'
Emërtimet:
SQL,
SQL_P2,
SQL_P2_Session 16_Trigger
Phần II_p228
create trigger InsertSales
on Sales
for Insert
as
if((select ord_date from inserted) > getdate())OR((select qty from inserted) < 10)
begin
print 'Not Insert'
rollback transaction
end
insert into sales values ('6380','6870','10/26/2006',110,'ON invoice','BU1032')
on Sales
for Insert
as
if((select ord_date from inserted) > getdate())OR((select qty from inserted) < 10)
begin
print 'Not Insert'
rollback transaction
end
insert into sales values ('6380','6870','10/26/2006',110,'ON invoice','BU1032')
Emërtimet:
SQL,
SQL_P2,
SQL_P2_Session 16_Trigger
e premte, 15 qershor 2007
Question for Trigger
CSDL Pubs
- Tạo một trigger in ra một câu thông báo lỗi sau:
Raiserror (“%d rows have been modified”,0,1,@@rowcount)
Cho các thao tác thêm, sửa, xóa trên bảng authors - Tạo 1 trigger cập nhật giá của các quyển sách với điều kiện là quyển sách của tác giả Anne thì cho cập nhật, ngược lại thì không cho cập nhật.
- Tạo một bảng mới có cùng cấu trúc và cùng dữ liệu với bảng titles. Tạo một trigger để xóa toàn bộ bảng nếu số hàng trong bảng vừa tạo là lớn hơn 20 ngược lại thì in ra câu thông báo …
- Viết một trigger khi thêm quyển sách có mã là BU0032 và mã tác giả là 172-32-1981 vào bảng titleauthor (lưu ý là phải thêm vào các bảng còn lại)
- Nhập vào một nhà vận chuyển. Nếu nhà vận chuyển có chứa giá trị Rose thì không cho nhập. In ra thông báo lỗi.
- Viết một câu lệnh tạo trigger nếu xóa mã sp là 13 và mã sản phẩm là 10248 là không chấm nhận.
- Viết 1 câu lệnh trigger trên bảng Employee sao cho nếu xóa 1 mẫu tin nào đó trên bảng Employee nó sẽ tự động đưa vào bảng RetiresEmployee.
Emërtimet:
SQL,
SQL_P2,
SQL_P2_Session 16_Trigger
Abonohu te:
Postimet (Atom)