create trigger Fittings_Insert_Tr ON Fittings
instead of insert
as
declare
@f_name varchar(50),
@f_no1 varchar(50),
@f_no2 varchar(50),
@b_id int,
@t_id int,
@p_id int,
@f_size varchar(50),
@f_remark varchar(500),
@f_photograpt varchar(500),
@f_amount int
begin
select @f_name=f_name,@f_no1=f_no1,@f_no2=f_no2,@b_id=b_id,@t_id=t_id,@p_id=p_id,@f_size=f_size,@f_remark=f_remark,@f_photograpt=f_photograpt,@f_amount=f_amount from inserted
if not exists(select * from Fittings where f_name=@f_name and f_no1=@f_no1 and f_no2=@f_no2 and b_id=@b_id and t_id=@t_id and p_id=@p_id)
begin
insert Fittings (
f_name,f_no1,f_no2,b_id,t_id,p_id,f_sort,f_commend,f_uploadTime,f_updatetime,f_availabilitytime,f_amount,f_size,f_state,f_minprice,f_price,f_remark,f_locus,f_photograpt
) select
f_name,f_no1,f_no2,b_id,t_id,p_id,'CT','否',getdate(),getdate(),365,f_amount,f_size,'未测试',0,0,f_remark,f_locus,f_photograpt
from inserted
end
else
begin
update Fittings set f_size=@f_size , f_remark=@f_remark ,f_photograpt=@f_photograpt , f_amount=f_amount+@f_amount where f_name=@f_name and f_no1=@f_no1 and f_no2=@f_no2 and b_id=@b_id and t_id=@t_id and p_id=@p_id
end
end
go
分享到:
相关推荐
触发器是一种特殊类型的存储过程,它被自动执行,当特定事件(如数据的插入、更新或删除)发生在指定的表上时触发。通过本次实验,学生将能够: 1. **理解触发器的作用和工作机制**:包括触发器何时执行、如何定义...
数据库触发器是一种特殊的存储过程,它可以在特定的事件发生时自动执行,以维护数据库的完整性和一致性。触发器可以在INSERT、UPDATE、DELETE等DML语句之前或之后执行,以便检查和限制用户的操作。 数据库触发器的...
触发器是数据库管理系统中的一个重要特性,它是一种特殊类型的存储过程,能够在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器的主要作用是维护数据的一致性和完整性,通过在这些事件上设置...
例如,插入触发器 TR_PAPER_I 可以在插入报纸记录时,检查单价是否为空或小于零,并将其设置为 10 元。删除触发器 TR_PAPER_D 可以在删除报纸记录时,级联删除订阅表中的相关记录。修改触发器 TR_PAPER_U 可以在修改...
在数据库管理中,触发器(Triggers)是一种特殊类型的存储过程,它会在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行。在给定的数据库实验中,我们看到了如何创建和使用触发器来控制对Student表的操作...
当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。 触发器的...
在SQL Server数据库中,触发器是一种特殊的存储过程,它在特定的数据操作事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器扩展了数据库的逻辑功能,允许开发者实现复杂的数据完整性规则,业务逻辑和审计功能...
- **触发时机**:触发器的执行是基于数据库操作的触发,比如当向一个表中插入新数据、更新已有数据或者删除数据时。 - **区别于存储过程**:存储过程需要通过命令调用执行,而触发器则是由特定的数据库操作(如...
在SQL数据库中,触发器(Triggers)是一种存储过程,它们在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。触发器是数据库系统中的重要组件,用于实现复杂的业务规则和数据完整性约束,当用户试图...
触发器常用于实现业务规则和约束,如在插入新数据时自动计算字段值,或者在删除记录前检查是否满足某些条件。例如,你可以创建一个触发器来防止员工薪水的负增长,每当更新薪水时,如果新的薪水低于旧的,触发器会...
数据库触发器是数据库管理系统中的一种重要机制,它允许在特定的数据操作语言(DML)事件发生时自动执行一段预定义的SQL代码。本实验报告主要围绕如何理解和运用触发器,特别是针对数据完整性的维护,以及在...
这个触发器会在插入新员工记录时检查其薪水,如果低于最低工资,将阻止插入操作并抛出错误。 **三、存储过程** 存储过程是一组预编译的SQL语句,可以在需要时通过调用执行。它们可以包含条件语句、循环结构和变量...
综上所述,数据库触发器实验报告涵盖了触发器的创建、执行、维护等一系列操作,体现了数据库管理人员在设计数据库时如何利用触发器来实现数据处理的自动化。报告中的代码示例和实验步骤,为数据库设计提供了实践指导...
数据库触发器是数据库管理系统中的一种重要机制,它允许在数据修改(INSERT、UPDATE或DELETE)时执行特定的SQL代码或存储过程。SQL触发器的概念源自关系数据库理论,用于实现复杂的数据完整性约束,或者在数据发生...
1. **级联更新**:触发器能够实现在多个表之间的数据同步,当在一个表中进行操作时,可以自动更新相关的其他表。 2. **复杂约束**:相比于简单的CHECK约束,触发器可以基于多表数据进行更复杂的验证,可以引用其他表...
5. **触发器**:触发器是数据库中的一种特殊类型的存储过程,会在特定数据库事件(如插入、更新或删除)发生时自动执行。在超市管理场景中,触发器可能用于在商品库存低于安全水平时发送警告,或者在商品价格调整后...
触发器可以在数据库中对某些事件发生时自动执行,例如创建数据库对象或在数据表中插入记录、修改记录或者删除记录时。触发器可以确保数据的处理必须符合由某些 SQL 语句所定义的规则。 触发器的功能 触发器可以...
触发器则是一种特殊的存储过程,它会在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。在实验5.2中,我们探讨了触发器的基本概念、分类和使用。AFTER/FOR触发器在DML语句执行后触发,通常用于执行...
例如,插入触发器TR_PAPER_I的创建语句为: ```sql CREATE TRIGGER TR_PAPER_I ON paper FOR INSERT AS DECLARE ippr FLOAT; DECLARE ipno int; SELECT ippr=ppr, ipno=pno FROM inserted BEGIN IF ippr BEGIN ...
触发器是数据库级别的事件驱动程序,当特定的DML操作(如INSERT、UPDATE或DELETE)发生时,触发器自动执行。触发器的优点包括: 1. 数据完整性:可以通过触发器强制执行复杂的业务规则,确保数据的一致性和准确性。 ...