sql中的触发器是对某个表进行操作时而触发的某种条件,可以用create语句创建触发器,drop语句删除触发器,alter语句禁用触发器等
触发器
在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