【发布时间】:2012-08-22 01:50:56
【问题描述】:
对 PL/pgSQL 完全陌生,this function 中的双美元符号是什么意思:
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;
对了,最后一行是什么意思?
【问题讨论】:
-
请考虑将 Erwin 的回复标记为对这个问题的回答,他的描述解释了
$$的实际含义,您可以通过阅读它来学习新的东西,例如还有$foo$
标签: postgresql plpgsql quotes dollar-sign dollar-quoting