{"title":"T-SQL: 防止重复MaterialID和WarehouseID插入 - 使用触发器","description":"本文介绍如何在T-SQL中使用触发器来防止在插入新记录时出现重复的MaterialID和WarehouseID值,而不使用索引。","keywords":"T-SQL, 触发器, 重复数据, MaterialID, WarehouseID, 唯一性, 数据完整性","content":"可以使用触发器来实现在插入新记录时保证materialid和warehouseid两个字段都不重复的要求,而不使用索引。\n\n首先,创建一个触发器:\n\nsql\nCREATE TRIGGER trg_PreventDuplicate\nON YourTable\nAFTER INSERT\nAS\nBEGIN\n IF EXISTS (\n SELECT 1\n FROM YourTable t\n JOIN inserted i ON t.materialid = i.materialid AND t.warehouseid = i.warehouseid\n WHERE t.id <> i.id\n )\n BEGIN\n RAISERROR ('Duplicate materialid and warehouseid values are not allowed.', 16, 1)\n ROLLBACK TRANSACTION\n RETURN\n END\nEND\n\n\n然后,将触发器绑定到你的表上:\n\nsql\nALTER TABLE YourTable\nENABLE TRIGGER trg_PreventDuplicate\n\n\n这样,当你插入一条新记录时,触发器将会检查该记录的materialid和warehouseid值是否与已存在的记录冲突,如果冲突则会回滚事务并抛出错误。"}

T-SQL: 防止重复MaterialID和WarehouseID插入 - 使用触发器

原文地址: https://www.cveoy.top/t/topic/qxns 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录