CREATE TRIGGER storagerecord_delete
ON Storagerecord
FOR UPDATE
AS
--declare @a int
IF exists (select Storagerecord.NUMBER
FROM Storagerecord where Storagerecord.NUMBER=0)
BEGIN
DELETE
FROM Storagerecord where Storagerecord.NUMBER=0
END
IF exist (select Storagerecord.NUMBER
FROM Storagerecord
where Storagerecord.NUMBER>0 and Storagerecord.NUMBER<5)
BEGIN
print'The goods will be not enough,please stock it'
END
这样代价太大,每次触发都要扫描整个表哈,哈哈,哈哈哈......
ON Storagerecord
FOR UPDATE
AS
--declare @a int
IF exists (select Storagerecord.NUMBER
FROM Storagerecord where Storagerecord.NUMBER=0)
BEGIN
DELETE
FROM Storagerecord where Storagerecord.NUMBER=0
END
IF exist (select Storagerecord.NUMBER
FROM Storagerecord
where Storagerecord.NUMBER>0 and Storagerecord.NUMBER<5)
BEGIN
print'The goods will be not enough,please stock it'
END
这样代价太大,每次触发都要扫描整个表哈,哈哈,哈哈哈......
ON Storagerecord
FOR UPDATE
AS
--declare @a int
IF exists (select Storagerecord.NUMBER
FROM Storagerecord,inserted i where Storagerecord.NUMBER=0 and i.id=Storagerecord.id)
BEGIN
DELETE Storagerecord
FROM Storagerecord,inserted i where Storagerecord.NUMBER=0 and i.id=Storagerecord.id
END
IF exist (select Storagerecord.NUMBER
FROM Storagerecord,inserted i
where Storagerecord.NUMBER>0 and Storagerecord.NUMBER<5 and i.id=Storagerecord.id)
BEGIN
RAISERROR('The goods will be not enough,please stock it',16,1) --RAISERROR客户端能得到
END
既然进来了,帮你优化下,不过错了不管哈,哈哈,哈哈哈......
ON Storagerecord
FOR UPDATE --倒底是删除还是更新?
AS
我的理解先删除,然后增加,不知对不对?
厉害,我佩服你!