PostgreSql学习-触发器

一、触发器简介
触发器(trigger):是一种特殊的存储过程,可以用来对表实施复杂的完整性约束,保持数据的一致性。
当触发器所保护的数据发生改变时,触发器会自动被激活,并执行触发器中所定义的相关操作,从而保证对数据的不完整性约束或不正确的修改。

1、基础知识
(1)触发器的定义:就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。(因此触发器不需要人为的去调用,也不能调用)
(2)触发器可以分为数据行级触发器和语句级触发器。
语句级触发器:指执行每个SQL时只执行一次。关键字 for each statement。
行级触发器:指每行都会执行一次。关键字for each row。
(3)触发器可以连接到表和视图。
(4)创建触发器以前,必须定义触发器使用的函数。这个函数不能有任何参数,它的返回值的类型必须是trigger。
函数定义好以后,用命令CREATE TRIGGER创建触发器。多个触发器可以使用同一个函数。

2、触发器可用于以下目的:
(1)验证输入数据
(2)执行业务规则
(3)为不同文件中新插入的行生成唯一值
(4)写入其他文件以进行审计跟踪
(5)从其他文件查询交叉引用目的
(6)访问系统函数
(7)将数据复制到不同的文件以实现数据一致性

3、使用触发器的优点:
(1)它提高了应用程序的开发速度。 因为数据库存储触发器,所以您不必将触发器操作编码到每个数据库应用程序中。
(2)全局执法业务规则。定义触发器一次,然后将其重用于使用数据库的任何应用程序。
(3)更容易维护 如果业务策略发生变化,则只需更改相应的触发程序,而不是每个应用程序。
(4)提高客户/服务器环境的性能。 所有规则在结果返回之前在服务器中运行。

二、触发器的变量
当一个PL/pgSQL 函数作为一个触发器被调用时,系统自动在最外层的块创建一些特殊的变量。这些变量分别是:

(1)NEW:数据类型是RECORD。对于行级触发器,它存有INSERT或UPDATE操作产生的新的数据行。对于语句级触发器,它的值是N

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以和你分享一些关于 PostgreSQL学习笔记。 1. PostgreSQL 是什么? PostgreSQL 是一种开源的关系型数据库管理系统,它支持 SQL 语言和 ACID 事务处理,并且具有丰富的特性和扩展性,可用于大型企业应用、Web 应用和嵌入式应用。 2. PostgreSQL 的特点 PostgreSQL 具有以下特点: - 开源免费 - 支持 ACID 事务处理 - 支持 SQL 语言 - 支持复杂查询和数据类型 - 支持存储过程和触发器 - 可以扩展和定制 - 可以跨平台运行 3. PostgreSQL 的安装 在 Windows 平台下,可以从官网下载 Windows 安装程序进行安装。在 Linux 平台下,可以使用包管理器安装,例如 Ubuntu 可以使用以下命令进行安装: ``` sudo apt-get install postgresql ``` 4. PostgreSQL 的基本操作 创建数据库: ``` CREATE DATABASE databasename; ``` 创建表: ``` CREATE TABLE tablename ( column1 datatype, column2 datatype, column3 datatype, .... ); ``` 插入数据: ``` INSERT INTO tablename (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); ``` 查询数据: ``` SELECT column1, column2, ... FROM tablename WHERE condition; ``` 更新数据: ``` UPDATE tablename SET column1 = value1, column2 = value2, ... WHERE condition; ``` 删除数据: ``` DELETE FROM tablename WHERE condition; ``` 5. PostgreSQL 的扩展 PostgreSQL 可以通过扩展来增强其功能,例如: - PostGIS:空间数据处理扩展 - PL/Python:Python 语言扩展 - pgAdmin:可视化管理工具 - pgpool-II:连接池和负载均衡工具 以上就是一些关于 PostgreSQL 的基本学习笔记,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值