栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PL / pgSQL中的“ $$”是什么

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PL / pgSQL中的“ $$”是什么

美元符号用于美元报价,并且绝不特定于功能定义。它几乎可以在SQL脚本中的任何地方用于替换单引号。

函数的主体恰好是字符串文字,必须用单引号将其引起来。美元报价是PostgreSQL特定于单引号的替代,以避免在函数体内引用问题。您也可以用单引号编写函数定义。但是,那么您就必须在体内将所有单引号转义:

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 ''Malformed string "%". Expected format is +999 999'';  END IF;  RETURN true; END' LANGUAGE plpgsql STRICT IMMUTABLE;

这不是一个好主意。取而代之的是使用美元引号,更具体地说,还应在它们之间放置一个令牌$$以使其具有唯一性-您可能也想在函数体内使用美元引号。实际上,我经常这样做。

CREATE OR REPLACE FUNCTION check_phone_number(text)  RETURNS boolean  AS$func$BEGIN ...END$func$  LANGUAGE plpgsql STRICT IMMUTABLE;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517331.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号