当前位置:首页 » 编程语言 » sql触发器自动加分怎么看
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql触发器自动加分怎么看

发布时间: 2023-01-30 14:04:55

sql创建一个触发器 当输入某个同学选课成绩时,如果他是女生,其成绩自动加5分

create trigger tgr_classes_insert
on classes
for insert --插入触发
as
--定义变量
declare @id int, @name varchar(20), @temp int;--成绩
--是女的更新数据,男的就算了
if(exists(select @id = id, @name = name,@temp =temp from inserted where 性别=女));
begin
set @temp = @temp +5;
update student set temp = @temp where id=@id and name=@name;
end
go

② SQLSERVER中触发器的触发类型有几种

SQL SERVER中触发器的触发类型有三种。

1、DML触发器,当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果对该表写了对应的DML触发器,那么该触发器自动执行。

2、DDL触发器,是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改。

3、登录触发器,登录触发器将为响应 LOGIN 事件而激发存储过程。与 SQL Server 实例建立用户会话时将引发此事件。登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发。

(2)sql触发器自动加分怎么看扩展阅读:

DML触发器的主要作用在于强制执行业 务规则,以及扩展Sql Server约束,默认值等。因为我们知道约束只能约束同一个表中的数据,而触发器中则可以执行任意Sql命令。

来自登录触发器内部且通常将到达用户的所有消息(例如错误消息和来自 PRINT 语句的消息)会传送到 SQL Server 错误日志。如果身份验证失败,将不激发登录触发器。

触发器可在写入数据表前,强制检验或转换数据。触发器发生错误时,异动的结果会被撤销。可依照特定的情况,替换异动的指令 (INSTEAD OF)。

③ SQL中触发器、存储过程

1、触发器:当向表unit插入的数据后,且objectid>10000时,向表test_tab插入数据
create
trigger
trig1
after
insert
on
unit
for
each
row
when
(objectid>10000)
begin
insert
into
test_tab
values(new.objectid,new.name);
end;存储过程:向表test插入调用存储时的参数@id,@namecreate
procere
pro_name
@id,@nameasbegininsert
into
test
values(@id,@name);end;2、两个区别,通过语法可以看出来,触发器是在执行了一定的操作后,根据触发条件,系统自动执行某一操作;而存储过程则是根据你设定的特定操作,来进行相应的操作而已。3、至于什么时候用触发器,什么时候用存储过程,这个就要根据你的使用情况了。比如说,在对某张表进行了特定操作后,我们让系统自动去执行一些操作,这个时候就可以使用触发器。而存储过程呢,如果我们在某一个事务中要进行的sql操作特别多,那么我们就可以把这些sql语句用存储过程来汇总,达到执行一遍存储过程就可以执行多条sql命令的目的。另外,你听说的现在不用触发器,这点明显是被误导了,触发器和存储过程是各有优点的。举个例子,比如说电信的通话记录,你可以想象每天的数据量有多大,那么为了保证系统的性能,我们就可以设定触发器来对表的容量进行限定,比如达到了1000万条数据,我们可以触发一个清表的操作,那么这张表就可以保证数据量始终在1000W以下(这个例子不是很合适,但是可以说明点问题)。之所以有人说不用触发器,这点也是从数据库性能来说的,说实话,使用触发器时,如果设计得不合适,那么对整个系统的性能会造成很大的影响的,所以在设计数据库时,一定要慎重。整个产品的性能并不是说代码优化就行了,数据库的架构设计也应该考虑在其中。

④ sql的触发器是干什么的,怎么用

触发器是用来保证数据一致性用的.他分为两种一种是操作前触发另外一种是操作后触发 ,主要是对数据的插入,删除,修改等动作进行跟踪及作出相应动作