本文目录
- SQL如何创建一个触发器
- sql server2012如何建立触发器
- SQL 触发器 创建一个向学生表S中插入一新同学时能自动列出全部同学信息的触发器display_trigger;求详解
- SQL中触发器创建与调用
- sql server 中如何建立触发器
- sql触发器的创建
- SQL触发器怎么做
- 怎么创建SQL表UPDATE触发器
- SQL server 创建触发器
SQL如何创建一个触发器
创建触发器用 CREATE TRIGGERCREATE TRIGGER 触发器名称ON 表名FOR INSERT、UPDATE 或 DELETEAS T-SQL 语句注意:触发器名称是不加引号的。例子:create trigger jcsj_1on 表名for insertasbeginupdate 表名 set 授课门数=授课门数+1 where 教师ID=(select 教师 ID from inserted)end详见***隐藏网址***请采纳答案,支持我一下。
sql server2012如何建立触发器
首先你当然要有一个数据库了,这里我使用自己创建的数据库booksDB。
在数据库booksDB上创建触发器,右击触发器-》新建触发器,打开之后的界面如下所示
请点击输入图片描述
请点击输入图片描述
在我们上面打开的有代码的界面中,我们需要改动的地方就是我划了红线的地方。我在下面的图中给出了一个小例子。大家可以参照着打下
请点击输入图片描述
执行,刷新,结果如下:
请点击输入图片描述
向books表中增加数据:
我们先导出insert脚本,将需要插入的修改下,如下图,
请点击输入图片描述
请点击输入图片描述
执行,我这里就执行出两条结果,一条是查询insert表的数据,另外一条是查询表books的数据
请点击输入图片描述
6
数据库的增删改查类似
SQL 触发器 创建一个向学生表S中插入一新同学时能自动列出全部同学信息的触发器display_trigger;求详解
--create trigger tgr_name--on table_name--with encrypion –加密触发器-- for update...--as-- Transact-SQL
create trigger display_triggeron S for insertas select * from S
SQL中触发器创建与调用
先给你举个触发器的实例: 先创建两个表Create Table Student( --学生表StudentID int primary key, --学号....) Create Table BorrowRecord( --学生借书记录表BorrowRecord int identity(1,1), --流水号StudentID int , --学号BorrowDate datetime, --借出时间ReturnDAte Datetime, --归还时间...) 创建触发器Create Trigger truStudentOn Student --在Student表中创建触发器for Update --为什么事件触发,在这里就是修改的时候会执行这个触发器,一旦你修改Student表,就会执行As --事件触发后所要做的事情if Update(StudentID)beginUpdate BorrowRecordSet StudentID=i.StudentIDFrom BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表Where br.StudentID=d.StudentIDend
sql server 中如何建立触发器
你可以直接用语句写呀,如:CREATETRIGGERFORINSERT,UPDATE,DELETEAS或者你用SQLSERVER的企业管理器,选中要建立触发器的表,点后键,然后选择管理触发器,这时会弹出一个窗口,然后自己编写触发器就OK了。
sql触发器的创建
# 创建insert类型触发器--创建insert插入类型触发器if (object_id(’tgr_classes_insert’, ’tr’) is not null)drop trigger tgr_classes_insertgocreate trigger tgr_classes_inserton classesfor insert --插入触发as--定义变量declare @id int, @name varchar(20), @temp int;--在inserted表中查询已经插入记录信息select @id = id, @name = name from inserted;set @name = @name + convert(varchar, @id);set @temp = @id / 2;insert into student values(@name, 18 + @id, @temp, @id);print ’添加学生成功!’;go--插入数据insert into classes values(’5班’, getDate());--查询数据select * from classes;select * from student order by id;insert触发器,会在inserted表中添加一条刚插入的记录。# 创建delete类型触发器--delete删除类型触发器if (object_id(’tgr_classes_delete’, ’TR’) is not null)drop trigger tgr_classes_deletegocreate trigger tgr_classes_deleteon classesfor delete --删除触发asprint ’备份数据中……’;if (object_id(’classesBackup’, ’U’) is not null)--存在classesBackup,直接插入数据insert into classesBackup select name, createDate from deleted;else--不存在classesBackup创建再插入select * into classesBackup from deleted;print ’备份数据成功!’;go----不显示影响行数--set nocount on;delete classes where name = ’5班’;--查询数据select * from classes;select * from classesBackup;delete触发器会在删除数据的时候,将刚才删除的数据保存在deleted表中。# 创建update类型触发器--update更新类型触发器if (object_id(’tgr_classes_update’, ’TR’) is not null)drop trigger tgr_classes_updategocreate trigger tgr_classes_updateon classesfor updateasdeclare @oldName varchar(20), @newName varchar(20);--更新前的数据select @oldName = name from deleted;if (exists (select * from student where name like ’%’+ @oldName + ’%’))begin--更新后的数据select @newName = name from inserted;update student set name = replace(name, @oldName, @newName) where name like ’%’+ @oldName + ’%’;print ’级联修改数据成功!’;endelseprint ’无需修改student表!’;go--查询数据select * from student order by id;select * from classes;update classes set name = ’五班’ where name = ’5班’;update触发器会在更新数据后,将更新前的数据保存在deleted表中,更新后的数据保存在inserted表中。
SQL触发器怎么做
CREATETRIGGERON员工表AFTERDELETEASBEGINDELETEFROM工资表WHERE员工编号IN(SELECT员工编号FROMdeleted)ENDCREATETRIGGERON员工表AFTERUPDATEASBEGINUPDATE工资表SET部门编号=(SELECT部门编号FROMinserted)WHERE员工编号=(SELECT员工编号FROMinserted)END
怎么创建SQL表UPDATE触发器
触发器是一种特殊的存储过程,类似于其它编程语言中的事件函数,SQL Server�6�4 允许为 INSERT、UPDATE、DELETE 创建触发器,当在表(视图)中插入、更新、删除记录时,触发一个或一系列 T-SQL 语句。1:创建触发器:�0�3触发器可以在企业管理器里创建,也可以在表名上点右键-》“所有任务”-》“管理触发器”来创建。�0�3用 CREATE TRIGGER创建触发器CREATE TRIGGER 触发器名称ON 表名FOR INSERT、UPDATE 或 DELETEAST-SQL 语句例:USE NorthwindCREATE TRIGGER Category_DeleteON CategoriesFOR DELETEASUPDATE P SET Discontinued = 1FROM Products AS P INNER JOIN deleted AS dON P.CategoryID = d.CategoryID
SQL server 创建触发器
create trigger tri before insert on 成绩表 for each nowbegin if :new.pscj《30 and :new.qmcj《30 thenupdate 成绩表 set pscj=(:new.pscj+10) and qmcj=(:new.qmcj+10) end if大概意思是这样的,我用的是Oracle写的,:new表示新插入的数据