触发器

SQL常见的一些面试题

大城市里の小女人 提交于 2020-01-16 01:10:05
SQL常见的一些面试题(太有用啦) SQL常见面试题 1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 A: select distinct name from table where name not in (select distinct name from table where fenshu<=80) select name from table group by name having min(fenshu)>80 学生表 如下: 自动编号 学号 姓名 课程编号 课程名称 分数 1 2005001 张三 0001 数学 69 2 2005002 李四 0001 数学 89 3 2005001 张三 0001 数学 69 删除除了自动编号不同, 其他都相同的学生冗余信息 A: delete tablename where 自动编号 not in(select min( 自动编号) from tablename group by学号, 姓名, 课程编号, 课程名称, 分数) 3.一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对

Ubuntu16.04 安装Teamviewer

青春壹個敷衍的年華 提交于 2020-01-13 03:36:55
  有时需要远程控制ubuntu系统的电脑,Teamviewer在linux下也可以进行安装,大致看了下向日葵在linux下配置好像比较麻烦,而且Teamviewer远程控制的流畅性一直不错,就选择安装Teamviewer。   下面给出具体的安装步骤:   1. 首先到 https://www.teamviewer.com/zhcn/download/linux/ 下载相应linux版本的Teamviewer,版主选择的是ubuntu版本,下载完成之后,在你的下载路径中会有软件安装包teamviewer_12.0.85001_i386.deb。   2. 安装依赖包,ternimal终端进入到下载路径中,执行命令:(博主是64位系统没有执行这个命令也成功,假如是32位的系统则需要执行) sudo apt-get install libjpeg62:i386 libxinerama1:i386 libxrandr2:i386 libxtst6:i386 ca-certificates   3. 安装deb软件包,执行命令: sudo dpkg -i teamviewer_12.0.76279_i386.deb      4. 安装成功之后在dash输入Teamviewer就可以打开了。      注意:在执行第三步安装deb包的时候,可能会遇到下面的问题:   wanglaotou

zabbix笔记之触发器函数介绍

徘徊边缘 提交于 2020-01-12 20:14:34
触发器函数介绍 优先级 操作 定义 1 / 除 2 * 乘 3 - 减 4 + 加 5 < 小于. 用法如下: A<B ⇔ (A<=B-0.000001) 6 > 大于. 用法如下: A>B ⇔ (A>=B+0.000001) 7 # 不等于.用法如下: A#B ⇔ (A<=B-0.000001) | (A>=B+0.000001) 8 = 等于. T用法如下: A=B ⇔ (A>B-0.000001) & (A<B+0.000001) 9 & 逻辑与 10 | 逻辑或 count函数 zabbix监控中使用count函数,可以设置连续几次都异常才发出告警,确认多次以减少了很多误告警,提高了运维效率,这样一来,只要发出告警基本上就已经确定发生故障了 count函数详解 参数:秒或#num 支持类型:float,int,str,text,log 作用:返回指定时间间隔内数值的统计 举例: count(600)最近10分钟得到值的个数 count(600,12)最近10分钟得到值的个数等于12 count(600,12,"gt")最近10分钟得到值大于12的个数 count(#10,12,"gt")最近10个值中,值大于12的个数 count(600,12,"gt",86400)24小时之前的10分钟内值大于12的个数 count(600,,,86400

SQL触发器 禁用 启动

心已入冬 提交于 2020-01-11 10:49:55
https://www.cnblogs.com/FlyGoldfish/articles/6398212.html # def starttrigger():# enable 启动 # disable 关闭 conn, cursor=get57sql() starttrigger_sql="alter table [PersonHouseInfo].[dbo].[student2] enable trigger trig_delete" cursor.execute(starttrigger_sql) conn.commit() # 创建触发器 def createtrigger(): conn, cursor = get57sql() createtrigger_sql="Create trigger [dbo].[trig_delete] on [dbo].[student2] after delete as begin select stu_id as 已删除的学生编号,stu_name, stu_gender, stu_age from deleted end;" cursor.execute(createtrigger_sql) conn.commit() # 删除触发器 def droptrigger(): conn, cursor = get57sql()

Quartz入门

泄露秘密 提交于 2020-01-11 05:27:50
Quartz简介及应用场景 1. Quartz介绍 任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统, “任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。 简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后自动撤消订单,并自动解锁锁定的商品 2. Quartz的触发器 触发器用来告诉调度程序作业什么时候触发。框架提供了5种触发器类型,但两个最常用的SimpleTrigger和CronTrigger。 五种类型的Trigger(定时器) SimpleTrigger,CronTirgger,DateIntervalTrigger,NthIncludedDayTrigger和Calendar类( org.quartz.Calendar)。 场景: SimpleTrigger:执行N次,重复N次 CronTrigger:几秒 几分 几时 哪日 哪月 哪周 哪年,执行 3. 存储方式 RAMJobStore(内存作业存储类型)和JDBCJobStore(数据库作业存储类型),两种方式对比如下: 优点 缺点 RAMJobStore 不要外部数据库,配置容易,运行速度快

Oracle数据库中的触发器练习

不羁岁月 提交于 2020-01-11 05:11:59
Oracle数据库中的触发器练习 一、表结构如图,其中orders的orderID是主键,orderItem的orderID是外键 -- orders表 create table orders ( 2 orderID number primary key , -- 编号 3 orderName varchar2 ( 32 ) , -- 名称 4 orederprice number -- 单价 5 ) 6 / insert into orders values ( 1 , '面包' , 3 ) ; insert into orders values ( 2 , '卫衣' , 45 ) ; insert into orders values ( 3 , '手机' , 1800 ) ; insert into orders values ( 4 , '鼠标' , 45 ) ; insert into orders values ( 5 , '键盘' , 130 ) ; -- orderItem表 create table orderItem ( 2 orderItemID number primary key , -- 编号 3 orderID number references orders ( orderID ) , -- 订单编号 4 orderItemNumber number

MYSQL_ 语法 13 -----CREATE TRIGGER (15)

你。 提交于 2020-01-11 01:26:29
触发器 MySQL 数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被 MySQL自动调用。 引发触发器执行的事件一般如下: 增加一条学生记录时,会自动检查年龄是否符合范围要求。 每当删除一条学生信息时,自动删除其成绩表上的对应记录。 每当删除一条数据时,在数据库存档表中保留一个备份副本。 触发程序的优点如下: 触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。 触发程序可以通过数据库中相关的表层叠修改另外的表。 触发程序可以实施比 FOREIGN KEY 约束、CHECK 约束更为复杂的检查和操作。 触发器与表关系密切,主要用于保护表中的数据。特别是当有多个表具有一定的相互联系的时候,触发器能够让不同的表保持数据的一致性。 在 MySQL 中,只有执行 INSERT、UPDATE 和 DELETE 操作时才能激活触发器。 在实际使用中,MySQL 所支持的触发器有三种:INSERT 触发器、UPDATE 触发器和 DELETE 触发器。 INSERT 触发器 在 INSERT 语句执行之前或之后响应的触发器。 使用 INSERT 触发器需要注意以下几点: 在 INSERT 触发器代码内,可引用一个名为 NEW(不区分大小写

555

删除回忆录丶 提交于 2020-01-10 15:24:15
NE555引脚图与内部功能结构 时间: 2017-12-07 关键字: NE555 NE555引脚图 555定时器 555定时器是电子工程领域中广泛使用的一种中规模集成电路,它将模拟与逻辑功能巧妙地组合在一起,具有结构简单、使用电压范围宽、工作速度快、定时精度高、驱动能力强等优点。555定时器配以外部元件,可以构成多种实际应用电路。广泛应用于产生多种波形的脉冲振荡器、检测电路、自动控制电路、家用电器以及通信产品等电子设备中。 详解555引脚作用 555定时器又称时基电路。555定时器按照内部元件分有双极型(又称TTL型)和单极型两种。双极型内部采用的是晶体管;单极型内部采用的则是场效应管,常见的555时基集成电路为塑料双列直插式封装,正面印有555字样,左下角为脚①,管脚号按逆时针方向排列。 555 定时器的功能主要由两个比较器决定。两个比较器的输出电压控制RS 触发器和放电管的状态。在电源与地之间加上电压,当 5 脚悬空时,则电压比较器 C1 的同相输入端的电压为 2VCC /3,C2 的反相输入端的电压为VCC /3。若触发输入端 TR 的电压小于VCC /3,则比较器 C2 的输出为 0,可使 RS 触发器置 1,使输出端 OUT=1。如果阈值输入端 TH 的电压大于 2VCC/3,同时 TR 端的电压大于VCC /3,则 C1 的输出为 0,C2 的输出为 1,可将 RS

SqlServer中用@@IDENTITY取最新ID不准的问题

ぃ、小莉子 提交于 2020-01-08 23:40:53
一个网友问我一个关于@@IDENTITY的问题。他的数据库中有一个存储过程,有 insert语句,然后马上就用SELECT @@IDENTITY取刚插入的ID值,通常这是没有问题的,但是问题是ID实际上已经达到了100多万了,而 SELECT @@IDENTITY 返回的只有很小的值(才30多),令人费解。 我开始也不太明白,问他先别管@@IDENTITY,新插入记录,ID是多少。他说ID是100多万那么大的数。不是才几十那么小。我帮他分析可能性,是不是identity到了最大限,且identity最大是2的64次方。他说int 最大值是 2,147,483,647,他的ID离溢出还早呢, 但是 return @@IDENTITY 就是 很小的值(只有几十)。我然后又帮他分析道,是不是ID的值被重置过?他说不是,他说现在新插入的 id 就是 170多万。说到这里,我了解了一点了。我建议他用scope_identity(table_name)函数来取指定表的IDENTITY。我们以前有过经验,@@IDENTITY和IDENTITY_CURRENT()都不是很理想,因为它们会受当前表的范围影响。通常有触发器就会引起@@IDENTITY不能正确地取值,IDENTITY_CURRENT()也是如此。幸好有scope_identity(table_name)函数。在这种情况下就只能用这个

pl/sql编程/存储过程/存储函数/触发器

回眸只為那壹抹淺笑 提交于 2020-01-08 02:16:36
pl/sql编程语言 pl/sql编程语言是对sql语言的扩展,使得sql语言具有过程化编程的特性。 pl/sql编程语言比一般的过程化编程语言,更加灵活高效。 pl/sql编程语言主要用来编写存储过程和存储函数等。 结构: declare --变量声明区域 begin --逻辑操作区域 end ; --可以把整个结构理解为java中的main方法 实例 ---声明方法 ---赋值操作可以使用:=也可以使用into查询语句赋值 declare --变量声明区域 i number ( 2 ) : = 10 ; s varchar2 ( 10 ) : = '小明' ; ena emp . ename % type ; ---引用型变量 emprow emp % rowtype ; ---记录型变量 begin dbms_output . put_line ( i ) ; --类似与控制台输出 dbms_output . put_line ( s ) ; select ename into ena from emp where empno = 7788 ; --将查询到的数据通过into赋值到ena dbms_output . put_line ( ena ) ; select * into emprow from emp where empno = 7788 ; dbms_output