触发器其实很简单

    前言:想学习使用触发器的话,建议先学习下存储过程,触发器也算是存储过程吧!

好下面简单的介绍一下触发器的基本概念,有些比较深入的问题,我们暂时不作为讨论范围,我们只讨论初学者如何接触和使用简单的触发器。我想大家都应该都知道触发器是干什吗的吧?这里我就不多说了。

下面定义触发器:

create trigger trigger_Name
 on table_Name
{Instead of |after}
insert|update|delete
as
T-sql 


1、trigger_Name 触发器名称


2、table_Name  需要操作的表名,注意不是级联的表!


3、Instead of |after   这是两种不同的触发器,instead Of 可以操作表和视图,after 只能操作表


4、insert|update|delete   你将要对该表做什么操作


5、T-sql    当你对当前表进行第4条所指定的操作时,T-sql就是所要执行的代码



比如说一个简单的例子:

现在你们公司有两个表,第一张是商品表,第二张是用户订单,两表通过商品表作为外键进行关联。现在又一件商品卖完了,所以要删掉数据,可想而知,用户下的此商品的所有订单都要被删掉了。当然可以用存储过程做,不过今天我们来演示一下触发器的简单使用,希望大家能简单的使用,从而慢慢深入研究,此后还靠大家苦心研究。

create trigger triGoods

on T_Goods

after delete

as

delete from T_Orders where gid in (select ID from deleted)


好,创建好了怎么使用呢?

这个就跟你没关系了,只要你在商品表执行删除工作,就会执行这个触发器,从而就删除了你的级联表订单表的相关联的数据

特别说明一下:

大家注意有一句select ID from deleted,这个deleted表是当你进行删除的时候你删除的数据系统就会给你保存到这个临时表中,如果你要创建insert触发器时,有个Inserted也是这个意思。

好了,相信这个简单的例子大家都知道触发器是啥玩意了吧!

申明一下啊,本博客只是讲述了最简单的触发器使用,欢迎各位大牛过来吐槽!

### 带有反馈的D触发器Verilog实现 带有反馈的D触发器通常用于构建更复杂的逻辑电路,比如计数器或移位寄存器。其核心思想是在输出端引入反馈路径,使得当前状态能够影响下一个状态。 以下是基于Verilog的一个简单示例代码,展示了如何通过反馈机制来增强D触发器的功能: #### 示例代码 ```verilog module d_ff_feedback ( input wire clk, input wire reset, input wire enable, // 控制信号,决定是否启用反馈 output reg q // 输出端 ); always @(posedge clk or posedge reset) begin if (reset) begin q <= 1'b0; // 异步复位 end else if (enable) begin q <= ~q; // 反馈操作:取反当前状态并赋值给下一状态 end end endmodule ``` 上述代码实现了以下功能: - 当 `reset` 被激活时,输出被强制设置为低电平[^3]。 - 如果 `enable` 信号有效,则触发器会将其当前输出取反,并作为下一次时钟边沿的状态输入[^2]。 这种设计可以用来创建振荡器或其他依赖于状态切换的逻辑单元。 --- ### 更复杂的设计案例——T触发器(由D触发器派生) 另一种常见的应用是利用D触发器及其反馈回路来实现T触发器(Toggle Flip-Flop)。T触发器的特点在于每当接收到一个有效的时钟脉冲时,它就会改变自己的状态。 #### T触发器的Verilog实现 ```verilog module t_ff ( input wire clk, input wire reset, input wire toggle, // 切换控制信号 output reg q // 输出端 ); always @(posedge clk or posedge reset) begin if (reset) begin q <= 1'b0; end else if (toggle) begin q <= ~q; // 使用反馈机制实现状态翻转 end end endmodule ``` 此模块中的 `toggle` 输入决定了何时执行状态转换。当该信号处于高电平时,每次正向时钟跳变都会使Q输出发生反转[^1]。 --- ### 总结说明 以上两种设计方案均体现了带反馈结构的重要性以及其实现方式的不同形式。无论是单纯为了增加动态行为还是进一步演化成其他类型的存储元件,这些方法都展现了灵活运用基础组件的能力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值