Thread: Meaning of "$$"

Meaning of "$$"

From
David Saracini
Date:
Hello All,

I can't seem to find any documentation on what the "$$" at the beginning and end of a function.  Obviously, it seems
likea delimiter, but I have seen examples such as where it has a string value between the $.  Why? What does this do?
 I'vedone some searching and reading and can't quit figure it out.   

thanks,

Please see the following for the 8.3 online documentation:

CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$ <----note!
    BEGIN
        -- Check that empname and salary are given
        IF NEW.empname IS NULL THEN
            RAISE EXCEPTION 'empname cannot be null';
        END IF;
        IF NEW.salary IS NULL THEN
            RAISE EXCEPTION '% cannot have null salary', NEW.empname;
        END IF;

        -- Who works for us when she must pay for it?
        IF NEW.salary < 0 THEN
            RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
        END IF;

        -- Remember who changed the payroll when
        NEW.last_date := current_timestamp;
        NEW.last_user := current_user;
        RETURN NEW;
    END;
$emp_stamp$ LANGUAGE plpgsql;

Re: Meaning of "$$"

From
Tom Lane
Date:
David Saracini <dsaracini@yahoo.com> writes:
> I can't seem to find any documentation on what the "$$" at the
beginning and end of a function.

Read about dollar-quoted strings here:
http://www.postgresql.org/docs/8.3/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS

            regards, tom lane