SQL--実験8

1757 ワード

1. “    ”       del_bk_tr DELETE   ,                     。
  create trigger del_bk_tr on      instead of delete  
as select'    "    "    '


2.  “    ”       insert_brw_tr INSERT   ,    “    ”       ,                                     ,           ,          。
create trigger insert_brw_tr on     
after insert as
declare @bno varchar(10),@tsno varchar(10)
select @bno=(select      from inserted)
select @tsno=(select      from inserted)
if not exists (select      from      where     =@bno)
begin
   delete from      where     =@bno
   select '      '
end
if not exists (select      from      where     =@tsno)
begin
   delete from      where     =@tsno
   select '      '
end
if exists (select      from      where     =@bno) and exists (select      from      where     =@tsno)
begin
   select '      。'
end

3. “    ”       update_bk_tr  UPDATE   ,                   “    ”     。
CREATE trigger update_bk_tr on      
AFTER UPDATE AS
declare @BNO1 VARCHAR(10) ,@BNO2 VARCHAR(10)
SELECT @BNO1=     from inserted
SELECT @BNO2=     from deleted
if @BNO1!=@BNO2
begin
print '             '
update      set     =@BNO2 where     =@BNO1
end

4.   T-SQL  DROP  TRIGGER  update_bk_tr    。

DROP TRIGGER update_bk_tr


5. “    ”        del_bk_tr,               ,                 。
create trigger del_bk_tr on     
after delete
as
delete from      where     =(select      from deleted)


6. “  ”         ,      :          “        ”,             BORROW_ SAVE  ( :BORROW_ SAVE           ,        )。
  
CREATE TRIGGER TR_SAVE ON     
	FOR INSERT , UPDATE
	AS
	IF  @@ROWCOUNT>0
    INSERT BORROW_SAVE  SELECT  a.*  FROM  INSERTED a ,      b  WHERE  a.    =b.     AND  b.  ='        '