2

使用されているスペースがクォータを超えているかどうかを確認し、クォータを 5 ずつ増やす次のトリガーがあります。クォータは正常に増分されますが、画面に RAISE NOTICE が表示されません。

 CREATE OR REPLACE FUNCTION checkspaceused() RETURNS TRIGGER AS $cssubscription$
 DECLARE
 new_spaceused INTEGER; 
 new_id INTEGER; 
 new_quota INTEGER ;
 BEGIN
    IF(TG_OP='UPDATE') THEN
        IF NEW.spaceused > NEW.quota THEN
        RAISE NOTICE 'Limit breached';
        UPDATE subscription SET quota = NEW.spaceused + 5 where u_id = NEW.u_id; 
        END IF ; 

    END IF;

RETURN NEW; 
END;
$cssubscription$ LANGUAGE plpgsql;
CREATE TRIGGER checkspaceused AFTER UPDATE ON subscription FOR EACH ROW EXECUTE PROCEDURE checkspaceused();

助けてください。

4

2 に答える 2