问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

在SqlServer中定义触发器

发布网友 发布时间:2022-04-27 04:32

我来回答

2个回答

热心网友 时间:2022-05-03 19:17

最简单的办法,这两个表之间建立一个主外键关系,级联更新、删除,这样效率最高也最简单。

非要写触发器的话,如下:
CREATE TRIGGER tr_person_ud
ON person
AFTER DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;

--判断是删除还是修改
DECLARE @IsDel bit
SET @IsDel = 1
IF(EXISTS(SELECT * FROM inserted)) SET @IsDel = 0

IF(@IsDel = 1)
BEGIN
DELETE FROM salary WHERE pno IN(SELECT pno FROM deleted)
END
ELSE
BEGIN
--改变后的值
DECLARE @newTable TABLE(autoId int IDENTITY(1,1),pno int NOT NULL)
INSERT INTO @newTable(pno)
SELECT pno FROM inserted
--改变前的值
DECLARE @oldTable TABLE(autoId int IDENTITY(1,1),pno int NOT NULL)
INSERT INTO @oldTable(pno)
SELECT pno FROM deleted
--循环修改
DECLARE @maxId int,@loopId int,@oldpno int,@newpno int
SELECT @maxId = max(autoId),@loopId = 1 FROM @newTable
WHILE(@loopId <= @maxId)
BEGIN
SELECT @oldpno = pno FROM @oldTable WHERE autoId = @loopId
SELECT @newpno = pno FROM @newTable WHERE autoId = @loopId
UPDATE salary SET pno = @newpno WHERE pno = @oldpno
SET @loopId = @loopId + 1
END
END

SET NOCOUNT OFF;
END

热心网友 时间:2022-05-03 20:35

CREATE TRIGGER MyTr1 ON person
FOR UPDATE
AS
IF UPDATE(pno)
BEGIN
UPDATE salary
SET pno=自己定义
FROM salary
WHERE pno=(SELECT pno FROM Inserted,Deleted WHERE Inserted.pno=Deleted.pno)
END

GO
以上是有关修改的触发器,关于删除的你可以按同样的方法写。

CREATE TRIGGER MyTr2 ON person
FOR DELETE
AS
BEGIN
DELETE
FROM salary
WHERE salary.pno=(SELECT pno FROM Deleted)
END

GO
SQL Server触发器的基本语法和使用方法

SQL Server数据库中的触发器是一种强大的工具,能在特定事件如数据插入、更新或删除时自动执行预设操作,对于数据的自动化管理和业务逻辑维护至关重要。要创建触发器,首先使用CREATE TRIGGER语句,包括触发器名称(如trigger_name)、事件类型(BEFORE或AFTER)、触发事件(INSERT、UPDATE或DELETE)、关联的表...

SQL Server触发器的基本语法和使用方法

大家好,我是晨希。SQL Server 数据库中的触发器是一种特殊的数据库对象,在特定事件发生时自动执行操作,用于数据的自动化处理和业务逻辑维护。创建触发器使用 CREATE TRIGGER 语句。基本语法包括触发器名称、事件类型(如 BEFORE 或 AFTER 插入、更新或删除操作)、触发事件(如 INSERT、UPDATE 或 DELETE...

SQL SERVER如何应用DLL触发器

1、首先打开SQL SERVER 2008数据库管理工具,然后选择服务器,选择Windows身份验证进行连接,如下图所示 2、进入管理工具以后,定位要操作的数据库,然后点击新建查询,如下图所示 3、在新建查询界面中,通过create trigger语句创建DLL触发器,当进行数据库删除和修改的时候进行触发,如下图所示 4、语句编写...

如何使用sql语句创建触发器?

它们主要在响应数据操作语言(DML)事件、数据定义语言(DDL)事件或登录事件时触发。DML触发器用于在执行INSERT、UPDATE或DELETE语句时触发,而DDL触发器响应CREATE、ALTER和DROP等DDL事件。登录触发器则在用户会话建立时触发。创建触发器需要遵循特定的SQL语法约定。参数包括架构名、触发器名、作用域(表或视...

SQL server中的触发器分为几类?

SQL SERVER中触发器的触发类型有三种。1、DML触发器,当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果对该表写了对应的DML触发器,那么该触发器自动执行。2、DDL触发器,是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改...

SQL触发器SQL触发器语法

SQL触发器是数据库中的一种机制,通过特定的SQL语句定义,用于在特定的数据修改操作(INSERT、DELETE、UPDATE)后自动执行特定的操作。触发器名称需唯一,符合标识符规则,可以使用WITH ENCRYPTION加密并设置NOT FOR REPLICATION防止复制过程中的触发。触发器通常包含Transact-SQL语句,用于检查或修改数据,但不会...

SQL中,触发器是什么?

1、触发器。 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。(SQL Server 2000定义了新的触发器,这里不提) 我为什么要使用触发器...

SQL Server触发器创建、删除、修改、查看

一:触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录_更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。二:SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。

SQL中的“触发器”是什么?

例如在执行update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。\x0d\x0a\x0d\x0aSQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、alter、drop语句。 \x0d\x0a\x0d\x0a D...

请问在sqlserver中什么是前触发型触发器,什么是后触发型触发器,怎么...

前触发器:指在执行INSERT,UPDATE,DELETE之前去触发【触发器】要执行的语句 后触发器:指在执行INSERT,UPDATE,DELETE之后再去触发【触发器】要执行的语句。比如一个update触发器,要执行删除操作。那么有两种情况,第一先update在delete(后触发器)第二先delete在update(前触发器)...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
急~~~!南京师范大学附属实验学校的高中部怎么样 在吉普岛旅游时,你有过哪些比较难忘的经历? 迅雷怎么发布资源啊?高手指教.小弟先谢过了.发布两个字在哪啊? ...和应该不出什么维生素,望医生们解答!小弟在此谢过 ...求各位电脑高手们帮忙教一下,小弟在这先谢过了! 地球爷爷的手是英国科学家谁发现的 苹果手机的邮箱地址已经被使用了,怎么办? 如果没有地“球爷爷的手",世界会是怎样的呢? 两篇狂人日记的作者分别是中国的鲁迅和哪位俄罗斯作家 两篇狂人日记的作者分别是什么 SQL中的断言、触发的定义 高分求高手,jquery的autocomplete怎么自定义触发事件 cino如何设置用户自定义触发指令 mysql创建触发器的定义怎么定义? 如何定义触发电压 如何定义一个触发器,当删除表中数据时,先将删除的数据插入到另一个... 如何定义一个触发器 梦见老板没穿衣服跑步 梦见老板娘给我一双童鞋。我不管穿是什么意思? 梦见老板穿唐僧的衣服 梦见我穿了一双新鞋子是老板娘的,我的鞋子不见了是怎么回事啊? 梦见老板穿民工服装 梦见老板娘给我买了件衣服小了 梦见老板娘叫我陪她去签合同,还有三对好看的鞋子? 梦见老板要穿很破的衣服 我昨天晚上梦见老板娘给我她以前的两件旧衣服是冬天穿的衣服请问这个梦意味着什么? 昨晚上作了一个怪梦,梦见自己穿了老板娘的裤子,她有两条一样的白色,不知道是什么意思!!! 荷兰豆冻后还能不能吃 梦见老板娘发工作服 梦见女老板穿一件红衣服向我笑 再问Vc++中,如何定义一个callback函数和它的触发事件 如何在程序中定义触发某事件的快捷键或菜单 java 自定义事件的触发及监听 数据库触发器定义问题求帮助 c# 如何在方法中触发一个系统定义的事件 安卓线性布局,下滑时组件才出现,才触发事件,怎么定义啊?? 漏电断路器和空气开关有什么区别 sql中 如何定义 删除 触发器 漏电断路器和空气开关有哪些区别,漏电断路器和空气开关用处是一样的吗? 空气开关和漏电断路器是一回事吗 空气开关与漏电保护器有什么不同? 漏电开关与空气开关哪个安装在先好您好? 谁了解漏电断路器断路器与空气开关有什么区别 空气开关和漏电开关的区别是什么该如何应用才好 漏电断路器与空气开关的工作原理和各自用途 漏电断路器是不是空气开关? 空气开关和漏电保护器那个好 抖音破播放是什么意思? 抖音破播放后是不是每天播放量很大 拼多多作品如何破播放
  • 焦点

最新推荐

猜你喜欢

热门推荐