/*
在新增或者修改TableB的时候同步修改TableA的内容
Antique
2006-05-23
*/
SET XACT_ABORT on
begin tran
Create Table TableA
(
[ID] Int Identity,
[Name] varchar(20)
)
Create Table TableB
(
ParentID Int,
[Name] varchar(20)
)
Insert Into TableA(name) Values('张三')
Select * from TableA
go
Create Trigger tUpdate
on TableB
FOR INSERT, UPDATE
as
Update TableA Set [Name] = b.[Name] from TableA a, Inserted b where a.ID = b.ParentID
go
Insert Into TableB(ParentiD, Name) Values(1, '李四')
Select * from TableA
Select * from TableB
Drop Table TableA
Drop trigger tUpdate
Drop Table TableB
Commit Tran
分享到:
相关推荐
接下来,我们将基于给定的部分内容构建一个具体的触发器示例,该触发器用于实现两张表之间的数据同步更新。 #### 定义触发器的目的 假设我们有两个表:`tab1` 和 `tab2`。当`tab1`中的数据发生变化时(即发生...
在这个“触发器示例的使用 考勤管理”场景中,我们将探讨如何利用触发器来实现高效的考勤系统功能,特别是对员工迟到和早退的计算。 首先,让我们了解触发器的基本概念。触发器是在数据库表上定义的一种逻辑,当...
VRMLtouch触发器示例
以下是一个简单的DML触发器示例,用于记录删除的员工信息: ```sql CREATE TABLE emp_audit ( name VARCHAR2(10), delete_time DATE ); CREATE OR REPLACE TRIGGER delete_trigger AFTER DELETE ON emp FOR EACH ...
- 行级触发器示例1:当向salary表插入新记录时,打印出插入的员工ID、工资月份和金额。 - 行级触发器示例2:在更新salary表时,确保金额不会变为负数。 - INSTEAD OF触发器:当试图在视图上执行DML操作时,实际...
#### 三、触发器示例详解 ##### 1. INSERT触发器 当向表中插入新记录时,INSERT触发器会自动执行。在下面的例子中,我们创建了一个名为`trg_insert`的触发器,它会在向`jobs`表中插入记录时触发,并检查`job_id`...
三、触发器示例 例如,创建一个在向`employees`表中插入新记录时自动设置员工入职日期的触发器: ```sql CREATE TRIGGER set_hire_date BEFORE INSERT ON employees FOR EACH ROW BEGIN SET NEW.hire_date = NOW();...
#### 五、触发器示例 假设我们要创建一个在`grade`表上插入数据后显示一条消息的触发器: ```sql DELIMITER // CREATE TRIGGER tri_abc AFTER INSERT ON grade FOR EACH ROW BEGIN SET @abc := '插入成功'; END; /...
通过以上分析,我们可以看到这个触发器示例有效地展示了如何利用触发器自动执行数据更新操作,特别是当涉及到多个表之间的数据关联时。这种机制不仅简化了开发人员的工作,还提高了数据处理的效率和准确性。在实际...
触发器示例 1. 建立 insert 触发器,当对 t1 表执行插入操作时,将 id 插入表 t2: CREATE TRIGGER insert_t1 INSERT ON t1 REFERENCING NEW AS new FOR EACH ROW (INSERT INTO t2 (id) VALUES (new.id)); 2. ...
##### 创建Instead-of触发器示例 ```sql CREATE OR REPLACE TRIGGER trigger_name INSTEAD OF INSERT | UPDATE | DELETE ON view_name FOR EACH ROW BEGIN -- 在这里编写针对底层表的具体DML操作 END; ``` 例如,...
文件中提供了几个触发器示例,让我们来分析这些触发器的执行顺序以及它们的功能。 首先,触发器"before_update_salary"是一个BEFORE触发器,它在更新操作发生前执行。此触发器的目的是计算整个雇员表的薪水总和,并...
- 插入触发器示例: ```sql CREATE TRIGGER lsq2_trig ON forinsert AS PRINT 'the table was inserted' INSERT INTO values('s1','s2') ``` - 更新触发器示例: ```sql CREATE TRIGGER lsq1_trig ON ...
##### 创建与插入触发器示例 假设我们有一个名为`orders`的表,每当向该表中插入一条新记录时,我们希望自动记录该操作的时间戳。这可以通过创建一个BEFORE INSERT触发器来实现: ```sql DELIMITER // CREATE ...
**前触发器示例**: ```sql CREATE TRIGGER default_class_end BEFORE INSERT ON cl_sched REFERENCING NEW AS n FOR EACH ROW WHEN (n.ending IS NULL) BEGIN ATOMIC SET (n.ending) = TIMESTAMPADD(SQL_TSI_HOUR...
#### 二、创建触发器示例解析 本示例中展示了如何创建一个简单的触发器`T_INSERT_卷烟库存表`,用于在插入新记录到`卷烟库存表`时自动更新库存金额字段。触发器的逻辑较为简单,其主要目的是确保库存金额字段的值...
下面是一些具体的触发器示例: 1. **限制插入操作** 创建一个触发器,当尝试向`Orders`表中插入一条订单记录时,检查`Goods`表中对应商品的状态是否为“正在整理”(即状态值为1),如果是,则不允许插入订单记录...