⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatetrigger.sql

📁 简单的SQL Server数据库安装
💻 SQL
字号:
CREATE TRIGGER "tSaleOrderMst_UTrig" ON tSaleOrderMst FOR UPDATE AS
SET NOCOUNT ON
/* * PREVENT UPDATES IF NO MATCHING KEY IN 'tCustoms' */
IF UPDATE(customID)
    BEGIN
        IF (SELECT COUNT(*) FROM inserted) !=
           (SELECT COUNT(*) FROM tCustoms, inserted WHERE (tCustoms.ID = inserted.customID))
            BEGIN
                RAISERROR 44446 '不能添加或更改该记录。参照完整性规则要求在表“tCustoms”中含有相关记录。'
                ROLLBACK TRANSACTION
            END
    END

/* * PREVENT UPDATES IF NO MATCHING KEY IN 'tEmployees' */
IF UPDATE(employeeID)
    BEGIN
        IF (SELECT COUNT(*) FROM inserted) !=
           (SELECT COUNT(*) FROM tEmployees, inserted WHERE (tEmployees.ID = inserted.employeeID))
            BEGIN
                RAISERROR 44446 '不能添加或更改该记录。参照完整性规则要求在表“tEmployees”中含有相关记录。'
                ROLLBACK TRANSACTION
            END
    END

/* * PREVENT UPDATES IF NO MATCHING KEY IN 'tEmployees' */
IF UPDATE(employeeID)
    BEGIN
        IF (SELECT COUNT(*) FROM inserted) !=
           (SELECT COUNT(*) FROM tEmployees, inserted WHERE (tEmployees.ID = inserted.employeeID))
            BEGIN
                RAISERROR 44446 '不能添加或更改该记录。参照完整性规则要求在表“tEmployees”中含有相关记录。'
                ROLLBACK TRANSACTION
            END
    END

/* * PREVENT UPDATES IF NO MATCHING KEY IN 'tOperators' */
IF UPDATE(buildID)
    BEGIN
        IF (SELECT COUNT(*) FROM inserted) !=
           (SELECT COUNT(*) FROM tOperators, inserted WHERE (tOperators.ID = inserted.buildID))
            BEGIN
                RAISERROR 44446 '不能添加或更改该记录。参照完整性规则要求在表“tOperators”中含有相关记录。'
                ROLLBACK TRANSACTION
            END
    END

/* * CASCADE UPDATES TO 'tReceiveDtl' */
IF UPDATE(ID)
    BEGIN
       UPDATE tReceiveDtl
       SET tReceiveDtl.SaleOutID = inserted.ID
       FROM tReceiveDtl, deleted, inserted
       WHERE deleted.ID = tReceiveDtl.SaleOutID
    END

/* * CASCADE UPDATES TO 'tSaleOrderDtl' */
IF UPDATE(ID)
    BEGIN
       UPDATE tSaleOrderDtl
       SET tSaleOrderDtl.ID = inserted.ID
       FROM tSaleOrderDtl, deleted, inserted
       WHERE deleted.ID = tSaleOrderDtl.ID
	
	UPDATE tSaleOrderDtl1
	SET tSaleOrderDtl1.ID = inserted.ID
	FROM tSaleOrderDtl1,deleted,inserted 
	WHERE deleted.ID = tSaleOrderDtl1.ID
    END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -