当前位置: 首页 > news >正文

万网手机网站客户管理系统的需求分析

万网手机网站,客户管理系统的需求分析,wordpress收费吗,wordpress采集发布接口在 SQL Server 中,触发器(Trigger) 是一种特殊的存储过程,它在对表执行 INSERT、UPDATE 或 DELETE 操作时自动触发执行,无需手动调用。它常用于数据验证、审计日志、级联更新、同步数据等场景。一、触发器的类型&#…

在 SQL Server 中,触发器(Trigger) 是一种特殊的存储过程,它在对表执行 INSERT、UPDATE 或 DELETE 操作时自动触发执行,无需手动调用。它常用于数据验证、审计日志、级联更新、同步数据等场景。

一、触发器的类型(SQL Server)

二、触发器的基本语法

CREATE TRIGGER trigger_name
ON table_name
[WITH ENCRYPTION]
FOR | AFTER | INSTEAD OF
[INSERT, UPDATE, DELETE]
AS
BEGINSET NOCOUNT ON;-- 触发器逻辑-- 可使用 INSERTED 和 DELETED 逻辑表
END

三、关键概念:INSERTED 和 DELETED 逻辑表

触发器通过两个临时逻辑表获取变更数据:

四、常见使用场景与示例

-- 目标:当 user_account 表有更新时,记录变更到 log 表CREATE TRIGGER tr_user_account_update_log
ON user_account
AFTER UPDATE
AS
BEGINSET NOCOUNT ON;INSERT INTO account_log (user_id, old_balance, new_balance, change_time, operation)SELECT d.user_id,d.balance AS old_balance,i.balance AS new_balance,GETDATE(),'UPDATE'FROM DELETED dJOIN INSERTED i ON d.id = i.id;
END

场景 2:同步数据到另一张表

-- 目标:当 BBD_FANLI_LS 有新返利插入时,同步到 BBD_FLZHBDTX 提醒表CREATE TRIGGER tr_BBD_FANLI_LS_SyncToNotice
ON BBD_FANLI_LS
AFTER INSERT
AS
BEGINSET NOCOUNT ON;INSERT INTO BBD_FLZHBDTX (user_id, order_no, amount, tx_time)SELECT user_id, order_no, rebate_amount, rebate_timeFROM INSERTED;
END

场景 3:数据验证与限制

-- 目标:禁止删除状态为 '已完成' 的订单CREATE TRIGGER tr_order_delete_check
ON orders
INSTEAD OF DELETE
AS
BEGINSET NOCOUNT ON;IF EXISTS (SELECT 1 FROM DELETED WHERE status = '已完成')BEGINRAISERROR('无法删除已完成的订单!', 16, 1);ROLLBACK TRANSACTION;RETURN;ENDELSEBEGINDELETE FROM orders WHERE id IN (SELECT id FROM DELETED);END
END

场景 4:级联更新(替代外键级联)

-- 目标:当用户姓名更改时,自动更新相关订单中的客户名CREATE TRIGGER tr_user_update_cascade
ON users
AFTER UPDATE
AS
BEGINSET NOCOUNT ON;UPDATE oSET customer_name = i.nameFROM orders oJOIN INSERTED i ON o.user_id = i.idJOIN DELETED d ON i.id = d.idWHERE i.name <> d.name; -- 仅当姓名变化时更新
END

五、触发器的管理

-- 查看某表上的触发器
SELECT * FROM sys.triggers WHERE parent_id = OBJECT_ID('your_table');-- 查看触发器定义
EXEC sp_helptext 'trigger_name';-- 查看所有触发器(排除系统自带的触发器)SELECT t.name AS TriggerName,OBJECT_NAME(t.parent_id) AS TableName,t.type_desc AS TriggerType,        -- DML or DDLt.create_date,t.modify_date,t.is_disabled
FROM sys.triggers t
WHERE t.is_ms_shipped = 0  -- 排除系统自带的触发器
ORDER BY t.create_date DESC;-- 禁用
DISABLE TRIGGER tr_user_account_update_log ON user_account;-- 启用
ENABLE TRIGGER tr_user_account_update_log ON user_account;-- 删除触发器DROP TRIGGER tr_user_account_update_log;

六、使用触发器的注意事项

http://www.dtcms.com/a/467704.html

相关文章:

  • 网站被黑了多久恢复云开发和普通开发区别
  • 江阴建设局官方网站WordPress设置API
  • 网站上如何做相关推荐tomcat加jsp做网站
  • 东莞建设网站的公司简介网站做一个要多少钱
  • 北京品牌建设网站公司排名做阿里巴巴好还是网站好
  • 淘宝客导购网站怎么建设济南网站建设策划方案
  • 单页面网站如何seo做淘宝网站用什么软件有哪些
  • 捕鱼网站建设多用户商城系统哪里有
  • 如何解决 pip install -r requirements.txt 不支持在文件中使用 --user 等命令行选项 问题
  • phpcms网站转移沧州市网站建设价格
  • 建设银行对账网站wordpress漏洞教程
  • 长春市做网站摄影网站知乎
  • 北京微网站制作世界工厂网app
  • 怎样购买起名软件自己做网站百度快速收录开通
  • 网站建设的技术有哪些方面网易企业邮箱手机上登录不了
  • Swift 枚举
  • 网站正在建设中的图片素材制作高端网站公司排名
  • 网站建设 有道翻译学网站建设需要多长时间
  • 手机网站优化排名首页深圳服装外贸网站建设
  • 网站建设常识网站怎么做首页比较好
  • AMOLED 和Min-LED 区别
  • c2c网站架构主机托管业务
  • STM32中printf的重定向详解
  • 网站pv怎么统计c 创建一个网站怎么做
  • 网站建设投福州网络营销推广
  • 绵阳网站定制wordpress qq互联插件
  • 网站建设 更新 维护工程管理咨询公司
  • 什么是手机网站Wordpress自动回复评论
  • 公司做网站 分录沈阳做网站怎样收费
  • 网站文章优化杭州软件开发培训机构