作为 PL/pgSQL 的新手,这个函数中双美元符号的含义是什么:
CREATE OR REPLACE FUNCTION check_phone_number(text)
RETURNS boolean AS $$
BEGIN
IF NOT $1 ~ e'^\\+\\d{3}\\ \\d{3} \\d{3} \\d{3}$' THEN
RAISE EXCEPTION 'Wrong formated string "%". Expected format is +999 999';
END IF;
RETURN true;
END;
$$ LANGUAGE plpgsql STRICT IMMUTABLE;
我猜,在 RETURNS boolean AS $$
中,$$
是一个占位符。
最后一行有点神秘: $$ LANGUAGE plpgsql STRICT IMMUTABLE;
顺便问一下,最后一行是什么意思?