以美元符号作为引号的字符串常量
本章将讨论如何在 PL/pgSQL 编程中使用以美元符号作为引号的字符串常量。块结构
本章将讨论 PL/pgSQL 的块结构,同时也会带你编写第一个 PL/pgSQL 程序。变量
本章将学习 PL/pgSQL 变量的相关知识。行类型
本章将讨论 PL/pgSQL 的行类型。将一个变量声明为行类型之后,它便可以保存数据库中的整行数据。记录类型
本章我们讨论 PostgreSQL 的记录类型,它和行类型相似,也可以存储数据库中的整行信息。常量
本章将讨论 PL/pgSQL 常量。错误和异常处理
本章我们将讨论 PL/pgSQL 的错误和异常处理。控制结构
本章将讨论 PL/pgSQL 的控制结构,包括:IF、CASE、LOOP、WHILE LOOP、FOR LOOP、EXIT和CONTINUE等语句。函数
本章我们将讨论自定义函数的相关知识,包括:创建函数、函数参数的模式、函数重载、返回表的函数以及删除函数等知识。存储过程
本章我们将讨论存储过程。游标
本章我们将讨论 PL/pgSQL 的游标以及如何使用它们逐行处理结果集。触发器
本章将讨论触发器,包括:创建、删除、更新、禁用、启用触发器等知识。
以美元符号作为引号的字符串常量
- 402
- 2023-08-01 07:00:50
本章将讨论如何在 PL/pgSQL 编程中使用以美元符号作为引号的字符串常量。
背景
SELECT '你好,世界';
当字符串本身包含单引号时,需要进行转义:
SELECT '他说:''你好,世界''。';
为了减少转义,让字符串常量更具可读性,PostgreSQL 加入了使用以美元符号作为引号的语法。
以美元符号作为引号
语法:
tag
:可选,可以是零个或多个字符串字符串常量
:可以放置任何字符,包括单引号、反斜杠等
上例中,我们没有设置 tag
,我们可以设置 tag
试试:
SELECT $dir$目录:c:\'Program Files'\Google$dir$;
此例中,我们设置 tag
为 dir
。
为简化描述,我们将”以美元符号作为引号“简称为”美元引号“或者”DQ“
在匿名块中使用美元引号
do
'declare
film_count integer;
begin
select count(*) into film_count
from film;
raise notice ''The number of films: %'', film_count;
end;';
-
你可以在后续章节了解匿名块。你可以把以上代码复制到
psql
或dbeaver
中执行 -
块中的代码必须用单引号括起来。如果代码内部也有单引号,必须进行转义:
raise notice ''The number of films: %'', film_count;
块中的代码必须用单引号括起来。如果代码内部也有单引号,必须进行转义:
raise notice ''The number of films: %'', film_count;
为了避免频繁的转义带来复杂度和出错概率,我们使用美元引号来代替:
do
$$
declare
film_count integer;
begin
select count(*) into film_count
from film;
raise notice 'The number of films: %', film_count;
end;
$$