การพิมพ์ค่าของตัวแปรใน postgresql


104

ฉันมีฟังก์ชัน postgresql

CREATE OR REPLACE FUNCTION fixMissingFiles() RETURNS VOID AS $$
DECLARE
    deletedContactId integer;
    BEGIN
            SELECT INTO deletedContactId contact_id FROM myContacts WHERE id=206351;

            -- print the value of deletedContactId variable to the console

    END;
$$ LANGUAGE plpgsql;

ฉันจะพิมพ์ค่าของ DeleteContactId ไปยังคอนโซลได้อย่างไร

คำตอบ:


218

คุณสามารถแจ้งให้ทราบได้Postgresดังนี้:

raise notice 'Value: %', deletedContactId;

อ่านได้ที่นี่


14
นอกจากนี้คุณยังสามารถraise exception 'Value: %', deletedContactId;เพิ่มข้อยกเว้นที่แท้จริง (ชัดเจน) สิ่งนี้มีประโยชน์สำหรับฉันเพราะเว็บแอปของฉันไม่ได้บันทึกข้อความระดับการแจ้งเตือนไปยัง STDOUT ของฉัน การเพิ่มข้อยกเว้นเป็นวิธีที่เร็วที่สุดสำหรับฉันในการแก้ไขข้อบกพร่องบางอย่าง
animatedgif

5
คุณยังสามารถraise notice 'Value: % %', deletedContactId, E'\n';ซึ่งจะให้คุณnewlineหลังจากข้อความนี้
Kamil Witkowski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.