PostgreSQL基础整理(三)

1、触发器

有更新操作时记录一条日志

DROP FUNCTION IF EXIST log_test();
    CREATE OR REPLACE FUNCTION log_test() RETURNS trigger AS $$
    DECLARE
    BEGIN
        RAISE NOTICE ‘TRIGGER LOG TEST‘;
        RETURN NULL;
    END;
    $$ LANGUAGE plpgsql;

CREATE TRIGGER log_trigger
    AFTER UPDATE on emps
    FOR EACH ROW EXECUTE Procedure log_test();

UPDATE emps SET salary = 8000.0 WHERE userid = 10;

2、视图

  2.1、视图是预先定义的SQL查询,因此表中数据变化,视图也会变化;
  2.2、它暴露有限的数据对客户,有利于权限控制;
  2.3、视图中没有实际的物理数据,是一个逻辑的概念;

    CREATE VIEW salarys AS
        SELECT userid AS id, salary AS money
        FROM emps
        WHERE salary > 1000;

    SELECT * FROM VIEW;
时间: 2024-09-29 06:38:36

PostgreSQL基础整理(三)的相关文章

PostgreSQL基础整理(二)

存储过程 实现功能:针对工资表30岁以下,工资提升10% 30至40提升20% 40以上提升30% + 奖金(入参)返回平均薪酬 创建表: DROP TABLE emps; CREATE TABLE emps(userid int PRIMARY KEY, age int, salary numeric ); INSERT INTO emps VALUES(10, 25, 1000.0),(11, 26, 1500.0),(12, 27, 1300.0),(13, 35, 3000.0), (1

PostgreSQL基础整理(一)

1. 创建数据库: 1)登录bin目录,createdb.exe -U postgres -e mydb; -U 表示本次操作的登录用户名,如果不写会取windows登录的账户,如Administrator:会提示无创建权限: 2. 登录数据库: 1)用postgre自带的sql shell,登录时选择数据库为创建库 3. CRUD 书写习惯:SQL语句大写,其他小写 3.1)创建表: CREATE TABLE users( username char(20) PRIMARY KEY, pass

linux基础整理0316

一.linux基础整理 由于这是学习linux的第一周,整理的东西很杂很分散,其中包括了查看虚拟机的各种信息,命令相关的只整理了alias.date.history.cal.帮助会话screen等命令的使用,最后加上了两个常见问题处理办法:在以后的学习中会不断完善文中整理的相关内容. 1.查看系统信息类命令: 查看内核版本 [root@CentOS7 ~]#uname -r 3.10.0-957.el7.x86_64 查看系统版本 查看配置文件 [root@CentOS7 ~]#cat /etc

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

算法整理(三):插入排序

插入排序很简单,就像打扑克.手里有个牌4,再来一张牌5就本能的放到第一个牌的右边.如果来了个3就从右往左扫描,只要左边的比这个待插入数字大就交换. 插入排序是一种稳定的排序方法,时间复杂度O(n*n),空间复杂度O(1),最好的情况下时间复杂度为O(1).即本来就是一个有序或者相等的数组,则只需比较n-1次即可.下为源码,只需三行代码即可. //============================================================================

数字视频基础(三)

2.3 HDMI和DVI 2.3.1 HDMI 2.3.1.1 概述 如下图所示,HDMI电缆和连接器有4对差分线,3对TMDS数据线和1对时钟通道.这些通道用来传输视频.音频和辅助数据.另外,HDMI还有DDC通道,DDC是用来配置显示器和获得显示器状态,这里我们不讨论DDC. 音频.视频和辅助数据通过3个TMDS数据通道来传输,TMDS时钟,其频率通常是视频像素时钟频率,作为接收器的参考频率.TMDS将每个TMDS数据通道的并行8bit数据转换为直流平衡跳变最少的串行10bit数,因此发送是

Swift语法基础入门三(函数, 闭包)

Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 { 函数实现部分 } 没有参数没有返回值 可以写为 ->Void 可以写为 ->() 可以省略 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成() func say() -> V

这回真的是挤时间了-PHP基础(三)

hi 刚看了唐人街探案,5星好评啊亲.由于是早就约好的,也不好推辞(虽然是和男的..),但该写的还是得挤时间写.明天早上老师的项目结题,虽然和我关系不大,但不要添乱就好!! 1.PHP  一.PHP基础(三)1.3.2 Int 整型. 几个点:进制问题(2,8,16): 溢出——溢出后自动转为float型: 整除: float转为int——向下取整: 例子给出 $shi=123;$bin=0b100001;$ba=0123;$shiliu=0x1234555; function show($a)