提示通知不会出现在屏幕上

时间:2012-04-15 12:08:59

标签: postgresql

我有以下触发器来检查是否使用了空格>配额并将配额增加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();

请帮助。

2 个答案:

答案 0 :(得分:6)

检查会话中client_min_messages的值 - 应该NOTICE或更高版本才能看到通知。

答案 1 :(得分:1)

在执行功能之前执行此操作。

Sub UniqueVal2Range()
    Dim Arr As New Collection, a
    Dim Item As Variant
    Dim vRng As Range

    Lr = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row    'Range Last Row
    Set vRng = Sheet1.Range("A2:A" & Lr)

    If vRng.Count > 0 Then
    '---Making Unique Values
        On Error Resume Next
            For Each a In vRng
               Arr.Add a, a
            Next
        On Error GoTo 0

    '---Printing Unique Values
        For Each Item In Arr
            Debug.Print Item
        Next Item
    End If
End Sub

...,然后检查消息选项卡(如果使用pgAdmin)