zoukankan      html  css  js  c++  java
  • 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;
    复制代码

    Sqlite 清空表中所有数据 并重置自增长数据

    delete from 表名; 
    select * from sqlite_sequence; 
            找到上面的 表名 
    update sqlite_sequence set seq=0 where name='表名';

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

    由于使用 DELETE 语句无法删除列中的特定值,因此不能将 IF UPDATE() 子句应用于 DELETE 语句。

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

  • 相关阅读:
    华硕路由器修改 Hosts 以达到局域网内自定义解析
    一款开源、高颜值的终端terminus,支持Windows、MacOS
    Windows 10启用Linux子系统(WSL)
    一款全能的下载工具Motrix,支持BT、磁力链、百度网盘等资源
    ubuntu 14.04 和16.04 快速下载
    CentOS 7一键安装Seafile搭建私有云存储
    background背景色
    3d爱心代码
    Mac Mini(late 2014) 添加NVMe固态组Fusion Drive
    member access within misaligned address 0x0000002c3931 for type 'struct ListNode‘
  • 原文地址:https://www.cnblogs.com/richzhang/p/3041280.html
Copyright © 2011-2022 走看看