SQL触发器与SQLite触发器的区别- 唔愛吃蘋果- 博客园

 

代码
::----------SQL触发器-------------------------------------------------
1.删除
    
CREATE TRIGGER [Delete_TopAlexa] ON [dbo].[tb_WebSite] 
    
FOR DELETE 
    
AS
    
BEGIN TRANSACTION
        
delete from tb_alexa where websiteid=(select websiteid from deleted)
        
delete from tb_top100 where websiteid=(select websiteid from deleted)
        
IF (@@ERROR <> 0-- 如果有错误
        BEGIN
            
ROLLBACK TRANSACTION -- 回滚
        END
    
COMMIT TRANSACTION -- 提交事务
2.更新
    
create trigger Test_OK
    
on ok
    
for update
    
as
    
if update(name)
    
begin
        
update sname set sname.s_name=ok.name from ok,sname
        
where sname.n_id=ok.n_id
    
end

::
----------SQLite触发器-------------------------------------------------
1.删除
    
Create  Trigger MAIN.[UserOK_DeleteOK] AFTER DELETE On [UserOK] FOR EACH ROW
    
begin
        
delete from userbak where uid=old.uid ;
    
end;

2.更新
    
Create  Trigger MAIN.[UserOK_Update] AFTER UPDATE On [UserOK] FOR EACH ROW
    
begin
        
update userbak set username=new.username
        
where userbak.uid=old.uid ;
    
end;

 

 

 

以上UPDATE() 函数可用于确定 INSERT 或 UPDATE 语句是否影响表中的特定列。无论何时为列赋值,该函数都将返回 TRUE。

此外,COLUMNS_UPDATED 函数也可用于检查 INSERT 或 UPDATE 语句更新了表中的哪些列。此函数使用整数位掩码指定要测试的列。有关详细信息,请参阅 CREATE TRIGGER

 

 

郑重声明:资讯 【SQL触发器与SQLite触发器的区别- 唔愛吃蘋果- 博客园】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——