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;