`
zhengxuezhou
  • 浏览: 148398 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于查询插入以及查询更新实例sql&触发器示例

 
阅读更多

工作札记

 

查询插入:

insert into tempdevice(dpath,dname) select ttt1.devicepath,ttt1.displayname
          from tblnmdevice ttt1
          join tblbusinessdeviceunion ttt2 on ttt1.devicepath =
                                              ttt2.devicepath
          join tblbusinesssys ttt3 on ttt3.tbluuid = ttt2.businessid
         where ttt3.systemcode = '/NM_Topo/A33'  ;

 

查询更新:

update tblnmdevice tt1
   set tt1.displayname = (select t1.displayname||'路由器'
                            from tblnmdevice t1
                           where t1.devicepath = tt1.devicepath)
 where tt1.devicepath in
       (select ttt1.devicepath
          from tblnmdevice ttt1
          join tblbusinessdeviceunion ttt2 on ttt1.devicepath =
                                              ttt2.devicepath
          join tblbusinesssys ttt3 on ttt3.tbluuid = ttt2.businessid
         where ttt3.systemcode = '/NM_Topo/A33' and ttt1.displayname not like '%路由器' and ttt3.pid is not null)
;

 

 

触发器示例:

 


prompt
prompt Creating trigger aiud_nmdevice
prompt ======================================
prompt

 

CREATE OR REPLACE TRIGGER aiud_nmdevice
  AFTER INSERT OR UPDATE OR DELETE ON tblnmdevice
FOR EACH ROW
DECLARE
    v_count Number(20);
    v_tablename VARCHAR(36) := 'Tblnmdevice';
    v_uploadtype VARCHAR(50) := 'upload_actionlog';
    v_primaryKey VARCHAR(36) := 'devicepath';
BEGIN

    IF inserting THEN
      IF :new.operationstatus IS NULL THEN

      INSERT INTO tbluploadactionlog (logid, logtype, actiontype, tablename, dataid, actiontime, actionstate,dataname)
      VALUES (SEQ_UPLOADACTION.Nextval, v_uploadtype, '1', v_tablename, :new.devicepath, SYSDATE, '1', v_primaryKey);

      END IF;
    ELSIF updating THEN
     
        SELECT COUNT(log.logid) INTO v_count FROM tbluploadactionlog log WHERE log.dataid =:new.devicepath AND log.actiontype ='2';

        IF v_count = 0 THEN
          INSERT INTO tbluploadactionlog (logid, logtype, actiontype, tablename, dataid, actiontime, actionstate, dataname)
          VALUES (SEQ_UPLOADACTION.Nextval, v_uploadtype, '2', v_tablename, :new.devicepath, SYSDATE, '1', v_primaryKey);
        ELSIF v_count <> 0 THEN
          UPDATE tbluploadactionlog actionlog SET actionlog.actiontime = SYSDATE
          WHERE actionlog.dataid =:new.devicepath AND actionlog.actiontype='2';
        END IF;
     

    ELSIF deleting THEN
      IF :old.operationstatus IS NULL THEN

      INSERT INTO tbluploadactionlog (logid, logtype, actiontype, tablename, dataid, actiontime, actionstate, dataname)
      VALUES (SEQ_UPLOADACTION.Nextval, v_uploadtype, '3', v_tablename, :old.devicepath, SYSDATE, '1', v_primaryKey);

      END IF;

    END IF;
END aiud_nmdevice;
/

 

分享到:
评论

相关推荐

    SQL触发器使用实例

    SQL触发器使用实例 --创建触发器,示例1 /* 创建触发器[T_INSERT_卷烟库存表],这个触发器较简单。 说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。 触发器功能: 强制执行业务规则,保证插入的数据...

    SQL—— 触发器——示例程序

    此程序基于学生选课的实例,通过学生在修改其选课记录的事件引起了触发器。 次资源包含完整的数据库文件。。。

    sql触发器语法兼实例

    触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。

    SQL_Server触发器创建、删除、修改、查看示例

    SQL_Server触发器创建、删除、修改、查看示例

    SQL_Server触发器创建、删除、修改、查看示例教程.doc

    SQL_Server触发器创建、删除、修改、查看示例教程.doc

    SQL Server触发器和事务用法示例

    主要介绍了SQL Server触发器和事务用法,结合实例形式分析了SQL Server触发器、事务、存储过程、游标、视图等的相关定义与使用方法,需要的朋友可以参考下

    mysql触发器之创建使用触发器简单示例

    本文实例讲述了mysql触发器之创建使用触发器。分享给大家供大家参考,具体如下: 我们可以可以使用CREATE TRIGGER语句创建一个新的触发器,来看下具体的语法: CREATE TRIGGER trigger_name trigger_time trigger_...

    SQL查询出表、存储过程、触发器的创建时间和最后修改时间示例

    主要介绍了SQL查询出表、存储过程、触发器的创建时间和最后修改时间示例,本文直接给出代码实例,需要的朋友可以参考下

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQLServer2008技术内幕T-SQL查询包含源代码及附录A

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    Microsoft+SQL+Server+2008技术内幕:T-SQL查询_源代码及附录 中文版

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    21天学会SQL

    第三篇主要讲解SQL的编程,包括T-SQL语言、存储过程及触发器。第四篇讲解与商业智能有关的内容,包括集成服务、报表服务和分析服务。最后一篇是综合案例篇,分别使用.NET和Java语言实现了与SQL Server 2008的连接,...

    明日科技《C#示例源代码》(13-16)

    实例099 使用触发器添加、修改及删除职工信息 356 实例100 使用LinqToSql操作SQL数据库 358 实例101 使用LinqToObjects操作数组及集合 363 实例102 使用LinqToDataSet操作数据集 365 实例103 使用...

    明日科技C#示例源码.part03

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 注:一共五部分,请全部下载完成后,放同一目录下解决即可。 目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的...

    Oracle中触发器示例详解

    在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是...

    sql 2005课件及示例数据库

    全面讲解SQL Server 2005的安装和配置、数据库的创建与管理、数据库中的表,视图及其应用、索引及其应用、存储过程和触发器、数据库的备份恢复与导入导出以及SQL Server的安全管理等相关知识。 30

    SQL查询的艺术

    本书由浅入深地讲解了SQL的基本概念和语法,涉及数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,实例丰富,便于查阅。新版增加了针对Apache Open Office Base、MariaDB、...

    明日科技《C#示例源代码》(5-8)

    实例099 使用触发器添加、修改及删除职工信息 356 实例100 使用LinqToSql操作SQL数据库 358 实例101 使用LinqToObjects操作数组及集合 363 实例102 使用LinqToDataSet操作数据集 365 实例103 使用...

    SQL必知必会(第4版)

    《SQL必知必会(第4版)》由浅入深地讲解了SQL的基本概念和语法,涉及数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,实例丰富,便于查阅。新版增加了针对Apache Open Office ...

    明日科技C#示例源码.part04

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 注:一共五部分,请全部下载完成后,放同一目录下解决即可。 目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的...

Global site tag (gtag.js) - Google Analytics