postgresql - PostgreSQL添加信息并将其转换为大写
问题描述
我一直在尝试编写一个程序,在将客户端添加到“客户端”表时将电子邮件更改为大写。您能否提供帮助或提供一些链接在哪里可以找到此信息?如果您需要任何其他信息,我们很乐意提供。
解决方案
您需要一个触发器来执行此操作。在 Postgres 中,触发器由两部分组成:触发器函数和触发器定义。
触发函数可能如下所示:
create function upper_case_email()
returns trigger
as
$$
begin
new.email := upper(new.email);
return new;
end;
$$
language plpgsql;
new
变量引用是刚刚插入的行。
关于如何在 PL/pgSQL 中编写触发函数的详细信息可以在手册中找到
创建函数后,触发器定义定义触发器应在哪个表上触发以及何时触发。在这种情况下,您需要一个“插入前触发器”——能够在将行写入表之前修改行的列值:
create trigger client_uppercase_email_trg
before insert on clients
for each row
execute procedure upper_case_email();
关于语句选项的详细信息CREATE TRIGGER
可以在手册中找到
推荐阅读
- jenkins - 詹金斯“在步骤中找不到这样的 DSL 方法‘步骤’”
- ios - Flutter:获取所有 Near by WiFi 网络的列表
- list - 是否有在ansible中汇总列表内容的快捷方式?
- python - Google Cloud Platform 对 Django 应用的响应
- ios - 异议+Frida:申请无法通过验证
- javascript - 聚合然后更新到其他集合
- mysql - 如何编写sql查询以选择列名中带有空格的列?
- mongodb - 在 DateOperator-Projection Aggregate-MongoTemplate 中获取 NULL 值
- xml - XML 到 SOAP 给出错误的输出
- python - 抓取时激活按钮以进入下一页(Python,BeautifulSoup)