11、PostgreSQL高级构建块:类型、规则与触发器详解

PostgreSQL高级构建块:类型、规则与触发器详解

1. 域约束与验证

在PostgreSQL中,当一个属性使用特定域,且属性值长度超过15个字符时,SQL语句可能会因数据违规而失败。为了让新创建的数据遵循域约束,同时不对旧数据进行验证,可以使用以下语句:

ALTER DOMAIN text_without_space_and_null ADD CONSTRAINT text_without_space_and_null_length_chk check (length(value)<=15) NOT VALID;

数据清理完成后,还可以使用 ALTER DOMAIN ... VALIDATE CONSTRAINT 选项来验证旧数据的约束。最后,可以使用 \dD+ Psql元命令来描述域:

\dD+ text_without_space_and_null
2. PostgreSQL的 CREATE TYPE 命令
2.1 复合数据类型

复合数据类型在创建函数时非常有用,特别是当返回类型是包含多个值的行时。例如,假设我们要创建一个函数,返回特定客户账户的 seller_id seller_name 、广告数量和总排名。首先需要创建一个类型:

CREATE 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值