sql触发器怎么使用

sql中的触发器是对某个表进行操作时而触发的某种条件,可以用create语句创建触发器,drop语句删除触发器,alter语句禁用触发器等

sql触发器怎么使用

触发器

在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。

CREATE TRIGGER tr_update_Stock   --自动采购触发器ON T_ProductFOR updateASIF (update(Stock)) --判断stock字段是否更新BEGIN  --查询出库存低于下限的产品近一个月的消耗量 --创建临时表 IF object_id('[tempdb].[dbo].##table1') IS NOT NULL --判断临时表#tmp是否存在,存在则删除    DROP TABLE ##table1            SELECT * INTO ##table1 FROM (SELECT row_number() OVER (ORDER BY ProductID) AS rowNo,c.ZNumber - c.Stock AS purchaseNum,* FROM ( SELECT  ProductID,SUM(s.Numbers) ZNumber,p.Stock,SUM(s.OutMoney) ZMoney,p.Price  FROM [dbo].[T_StorageOut] t inner join[dbo].[T_StorageRelation] s  ON t.StorageOutID=s.StorageOutID inner join T_Product p ON s.ProductID=p.Id WHERE t.MakerTime between Convert(VARCHAR,DATEADD(MONTH,-1,GETDATE()),23) and Convert(VARCHAR,GETDATE(),23) and ProductID in (SELECT Id FROM V_ProductSupplierInfo where (Stock-StockLowerLimit)0)BEGIN   WHILE @curIndex 

这是一个自动采购的触发器,主要需要注意的触发条件,以及临时表的作用。

触发器的使用

创建触发器

CREATE TRIGGER tr_update_Stock

登录后复制

删除触发器 

DROP  TRIGGER tr_update_Stock

登录后复制

禁用

ALTER TABLE trig_example DISABLE TRIGGER trig1GO

登录后复制

恢复

ALTER TABLE trig_example ENABLE TRIGGER trig1GO

登录后复制

禁用某个表上的所有触发器

ALTER TABLE 你的表 DISABLE TRIGGER all

登录后复制

启用某个表上的所有触发器

ALTER TABLE 你的表 enable TRIGGER all

登录后复制

禁用所有表上的所有触发器

exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'

登录后复制

启用所有表上的所有触发器

exec sp_msforeachtable 'ALTER TABLE ? enable TRIGGER all'

登录后复制

以上就是sql触发器怎么使用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1786184.html

(0)
上一篇 2025年2月20日 00:34:22
下一篇 2025年2月20日 00:34:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • SQL触发器简介及优缺点

    1.sql触发器简介: SQL触发器是存储在数据库目录中的一组SQL语句。每当与表相关联的事件发生时,即会执行或触发SQL触发器,例如插入,更新或删除。 SQL触发器是一种特殊类型的存储过程。 这是特别的,因为它不像直接像存储过程那样调用。…

    数据库 2025年2月23日
    300
  • sql触发器详解

    如果触发器表上存在约束,则在 INSTEAD OF 触发器执行后但在 AFTER 触发器执行前检查这些约束。如果约束破坏,则回滚 INSTEAD OF 触发器操作并且不执行 AFTER 触发器。 SQL语法  语法   CREATE TRI…

    数据库 2025年2月21日
    300
  • sql删除触发器有哪些方法

    sql删除触发器有两种方法:1、使用SSMS数据库管理工具删除触发器;2、使用【T-SQL】脚本删除触发器,代码为【drop trigger 触发器名;】。 sql删除触发器有两种方法: 一、使用SSMS数据库管理工具删除触发器 删除DML…

    2025年2月20日 数据库
    300
  • 在SQL触发器或存储过程中获取在程序登录的用户

    每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加,更新和删除的,这些信息将会插入至AuditLog表中 实现一个AuditLog的功能,是B/S结构专案。 每个用户可以登录系统,在程序中操作数据(添加…

    数据库 2025年2月19日
    300
  • 调用SQL触发器执行外部程序

    标题:SQL触发器调用外部程序的具体代码示例 正文:在使用SQL触发器时,有时候需要调用外部程序来处理一些特定的操作。本文将介绍如何在SQL触发器中调用外部程序,并给出具体的代码示例。 一、创建触发器首先,我们需要创建一个触发器来监听数据库…

    2025年2月18日
    300
  • sql触发器怎么写

    SQL触发器是数据库管理系统中的一种特殊对象,它可以在数据库中的特定事件发生时自动执行定义好的动作。触发器可以用来处理各种场景,如数据的插入、更新或删除。在本文中,我们将介绍如何编写SQL触发器并给出具体的代码示例。 SQL触发器的基本语法…

    2025年2月18日
    300
  • 如何在SQL数据库中配置触发器自动执行特定任务?从入门到实践

    在数据库管理中,触发器(Trigger)是一个非常强大的工具。它允许我们在特定的数据库事件发生时,自动执行某些操作。无论是新增、更新还是删除数据,触发器都能够在这些操作发生时,自动触发相应的任务。在本文中,我们将一起探讨如何在SQL数据库中…

    服务器 2025年2月14日
    400

发表回复

登录后才能评论