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

BT về nhà

--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

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

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'

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')

e premte, 15 qershor 2007

Question for Trigger

CSDL Pubs
  1. 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

  2. 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.


  3. 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 …

  4. 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)
CSDL Northwind:

  1. 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.
  2. 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.
  3. 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.