触发器

存储过程和存储函数和触发器示例

久未见 提交于 2019-11-26 15:40:35
1、存储过程示例:为指定的职工在原工资的基础上长10%的工资 SQL > create or replace procedure raiseSalary(empid in number ) as pSal emp.sal % type; begin select sal into pSal from emp where empno = empid; update emp set sal = sal * 1.1 where empno = empid; dbms_output.put_line( ' 员工号: ' || empid || ' 涨工资前 ' || psal || ' 涨工资后 ' || psal * 1.1 ); end ; / Procedure created SQL > set serveroutput on SQL > exec raisesalary( 7369 ); 员工号:7369涨工资前 800涨工资后880 PL/SQL procedure successfully completed 2、存储函数示例:查询某职工的年收入。 SQL> /** 查询某职工的总收入    */ create or replace function queryEmpSalary(empid in number ) return number as pSal number ;

Quartz的特点

做~自己de王妃 提交于 2019-11-26 13:17:43
运行环境 Quartz可以运行嵌入在另一个独立式应用程序 Quartz可以在应用程序服务器(或servlet容器)内被实例化,并且参与 XA事务 Quartz可以作为一个独立的程序运行,可以用个 RMI 使用 Quartz可以被实例化,走位独立的项目集群(负载平衡和故障转移功能),用于作业的执行 作业调度 作业被安排在一个给定的触发时运行,触发器可以使用一下指令来创建(以下指令均可以组合) 在一天中的某个时间(到毫秒) 在一周的某几天 在每月的某一天 在一年中的某些日期 不在注册的日历中列出的特定日期(如商业节假日除外) 重复特定次数 重复进行,直到一个特定的时间/日期 无限重复 重复的延迟时间间隔 作业是由其创建者赋予的名字,也可以组织成命名组。触发器也可以给予名称和放置在组中,以方便地将它们调度内组织。作业可以被添加到所述调度器一次,而是具有多个触发器注册。在企业Java环境中,作业可以执行自己的工作作为分布式(XA)事务的一部分。 作业执行 作业可以实现简单的作业接口,为作业执行工作的任何Java类 job类的实例可以通过Quartz被实例化,或者通过应用程序框架 当触发时,调度通知实现JobListener和TriggerListener接口的零个或者多个java对象(监听器可以是简单的Java对象,或EJB,JMS或发布者等)。这些监听器在作业已经执行之后通知。

在创建触发器时出现不能在 'inserted' 表和 'deleted' 表中使用 text、ntext 或 image 列...

纵饮孤独 提交于 2019-11-26 11:50:24
1、 不能在 'inserted' 表和 'deleted' 表中使用 text、ntext 或 image 列 在 create trigger trg on t1 for update 改成 create trigger trg on t1 instead of update 将for改成 instead of 就可以在触发器中访问二进制字段了,也不需要去根据id去查询 2、 不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符 当你想对inserted及deleted两个表进行对比时可能会出现以上错误 转载于:https://www.cnblogs.com/samlin/archive/2012/06/30/2571000.html 来源: https://blog.csdn.net/weixin_30344795/article/details/98832695

亚稳态与同步器

橙三吉。 提交于 2019-11-26 10:29:07
亚稳态是由于违背触发器的建立保持时间产生的,一般来说,触发器都会在一个或者两个时钟周期内从亚稳态返回稳态。 亚稳态窗口(Metastability Window)具有特定的时间长度,这段时间内输入信号和时钟都应该保持不变,如果它们发生变化,输出可能变成亚稳态,建立时间和保持时间共同决定了亚稳态窗口的宽度。 亚稳态出现的条件通常有 输入信号是异步信号。 时钟偏移/摆动(上升/下降时间)高于容限值。 信号跨时钟域(包括跨同频不同相的时钟域)。 组合逻辑延时使数据在触发器的亚稳态窗口发生变化。 系统时钟频率过高。 关于亚稳态的建议 在两个异步系统的交界处亚稳态是不可避免的,但使用以下方法可以减少亚稳态的发生概率 采用同步器。 避免使用dV/dt低的输入信号。 采用相应更快的触发器(缩短亚稳态窗口)。 减少组合逻辑的延时。 降低时钟频率。 亚稳态监测电路 同步器 模式A (T async_in > T clk) 模式B (T async_in < T clk) 以上内容摘自 The Art of Hardware Architecture. 来源: https://blog.csdn.net/yhs18200259681/article/details/98785036

状态机设计

笑着哭i 提交于 2019-11-26 10:04:20
  在状态机设计时,可以将状态机分为三个部分,      从上图可知OL没有和CS放在一起的,除了第四种,但是第四种中的CS处理中用了变量赋值的方法,信号值的变化在一个Process内完成,因此,可以放在一起。其他的三种由于采用的时信号赋值的方式。   如果在一个process里面既要完成状态变换,又要完成输出结果,这样会产生额外的latch。 进一步的解释可以是: 如图 该结构可以产生一个D触发器。 如图,却可以产生两个D触发器。 但是,我们在做状态机的跳转时只需要一个触发器就可以了,其他的可以在状态转换完成后用组合逻辑进行输出逻辑的运算。即在边沿触发的结构中白瞎了一个D触发器。 接着,如图所示 组合逻辑给出了下一个状态,而状态寄存器用于将该状态锁住,并等待下下个状态。 也就是说,组合逻辑既可以用于处理输入信号,也可以用于输出信号,还可以提供下一个状态的值。但状态机最好就是不要产生输出信号。 来源: https://www.cnblogs.com/gongchengqu/p/11933326.html

SQL Server查询优化和事务处理

隐身守侯 提交于 2019-11-26 04:34:03
对于了解掌握SQL的增、删、改、查的语句操作是最基本的,实际生产环境中,我们还会用到一些比较高级的数据处理和查询,包括索引、视图、存储过程和触发器。本篇博文主要如何更好的实现对数据库的操作、诊断及优化。 博文大纲: 一、索引; 二、视图; 三、存储过程; 四、触发器; 五、事务; 一、索引 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的次序排列这些指针,再跟随指针到达包含该值的列。 1.什么是索引 数据库中的索引与书籍中的目录相似。在一本书中,无需阅读整本书,利用目录就可以快速的查找到所需的信息。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需的数据。书中的目录就是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或若干列值的集合,以及物理表示这些值得数据业的逻辑指针清单。 索引是SQL Server编排数据的内部方法,它为SQL Server提供一种方法来编排查询数据的路由。 索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页以及该数据行的地址指针。通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。 2.索引分类 在SQL Server中,常用的索引有: (1)唯一索引 唯一索引不允许两行具有相同的索引值。 如果现有数据中存在重复的键值,则一般情况下大多数数据库不允许创建唯一索引

zabbix的自定义监控项和触发器的配置

牧云@^-^@ 提交于 2019-11-26 03:25:59
实例:自定义一个检查Linux系统根目录的使用情况的监控项。 1、配置一个自定义的监控项 (1)、先配置获取根目录使用的当前情况的脚步,生产的脚步文件要有执行权限,如下: [root@node1 ~]# df -h | awk '{if(NR==2){print int($5)}}' //NR代表行,$5代表第5列 给脚本执行权限: 脚本执行结果: (2)、把这个获取根目录使用情况的脚本在zabbix_agent中配置为监控项: #自定义监控项的key为my.dsp.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略, 脚本为/etc/zabbix/dsp.sh (3)、重启zabbix-agent服务 [root@node1 zabbix]# systemctl restart zabbix-agent (4)、首先到服务端验证脚本,是否可以获取到数据,如下: 2、然后在zabbix监控中心(浏览器)配置增加监控项目,并添加触发器。 (1)、 在已经被监控的主机上添加监控项,先点如下的Items,如下: 如下点击“Create item” key值写my.dsp.count (2)、添加该监控项目后,到“监测中”——“最新数据”查看刚添加的项目是否有数据出现,有了数据 就可以添加图形了, 添加图形 ,点击“Configure”——“Hosts”

zabbix配置触发器的依赖关系

我与影子孤独终老i 提交于 2019-11-26 03:25:55
环境: 使用zabbix 的icmp-ping监控网络状态的配置: 比如需要监控主机的是否可用依赖于整个网络的网关是否可用,如网关地址为172.16.100.254;我们使用icmp-ping来监控这个地址是否能通。 下面说下具体的配置过程: (1)、登录zabbix的web界面,然后点"Configuration---->Host---->Creat host"添加需要监控的ip地址:Host name为添加需要监控的ip地址,下面可以选用agent 或snmp ,ip地址可以写ip地址,也可以不改,这里用不到agent或snmp的监控,只是使用的“sample check”icmp-ping监控,操作如下: (2)、关联模板的时候选择Template Module ICMP Ping (3)、添加完成后如下: (4)、使用这个监控网络的主机项关联到其他的监控项的触发器,如下: ①. 选择要关联监控主机的"Triggers",如下: ①. 选择"Triggers"后进入如下图,我们选择需要做关联的触发器,如下 ①. 给选择的触发器,配置依赖的触发器,如下: ①. 完成依赖配置,点击Update ①. 配置结果如下: 触发器之间的关联配置完成。 来源: 51CTO 作者: Galactics 链接: https://blog.51cto.com/75368/2340357

配置和管理Zabbix(一)

北城以北 提交于 2019-11-26 02:51:14
四、添加监控客户端 1、监控Linux服务器 首先安装zabbix-agent客户端 CentOS6客户端: # rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm # yum install zabbix-agent #安装的过程自动创建zabbix用户和组 # chkconfig --level 345 zabbix-agent on #设置自启动级别 # vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1,10.100.3.66 #本机和监控端IP,需用逗号隔开 ServerActive=10.100.3.66:10051 #监控端IP和端口号 Hostname=commission-server #客户端主机名,添加主机时要使用 注:Server和ServerActive都指定zabbix server的IP地址,不同的是,前者是被动取数据,后者是主动上传数据。 # service zabbix-agent start #启动agent # vim /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT #

zabbix监测web站点以及用户是否能正常登陆

末鹿安然 提交于 2019-11-26 02:48:14
一、创建web站点和web站点是否可以登录 (1)获取需要监控的站点的后台接口 (我是问开发要的) (2)登陆zabbix的web界面,进行web站点监控 (3)创建web站点监控 (4)监控具体步骤 ①场景 ②步骤---->添加 {监控网站状态} ③添加 {再监测用户是否可以登录web站点} ④查看刚才我们创建的web监测 二、触发警报 (1)配置---->主机----->触发器--->创建触发器 (2)名称(自己命名触发器名字)---->构建表达式(出现下面页面) 监控项:我这里指的是监控的web站点,返回码只要不是200就触发报警 (3)查看我们创建好的触发器 同理,使用这种方式监控web站点是否可以登录,根据返回的状态码,只要不是200就触发报警。 来源: 51CTO 作者: LUksl 链接: https://blog.51cto.com/19940919/2373564