当前位置: 首页 > news >正文

做网站JSP代码苏州seo网站优化软件

做网站JSP代码,苏州seo网站优化软件,切换国外ip的软件,给别人做设计的网站本文章代码已在pgsql11.22版本上运行且通过,展示页由pgAdmin8.4版本提供 上一篇总结了原著的第十章有关pgsql的视图的用法,本篇将总结pgsql的触发器的用法。 触发器 使用触发器可以自动化完成一些在插入数据或修改数据时,某些需要同期同步的…

本文章代码已在pgsql11.22版本上运行且通过,展示页由pgAdmin8.4版本提供

上一篇总结了原著的第十章有关pgsql的视图的用法,本篇将总结pgsql的触发器的用法。

触发器

        使用触发器可以自动化完成一些在插入数据或修改数据时,某些需要同期同步的数据的工作。例如,期望在进行增加新一行数据时,把插入时的“插入时间”进行同步的功能,在我进行sql代码编写时,因为已经提早就做好了触发器,我只需要填充其他所需的数据,不用再去写“插入时间”这一列的数据。

        触发器可以定义在一个INSERT、UPDATE或DALETE命令之前或之后执行

        所谓触发器函数,就是一个无参并返回一个trigger类型的函数,用于触发器来执行任务的函数,所以在创建触发器前,要先创建一个触发器函数。

书写格式

触发器函数创建格式:

CREATE FUNCTION 函数名() RETURNS trigger as $函数名$BEGIN 函数执行代码;end;
$函数名$ LANGUAGE plpgsql;

然后再创建触发器,用于pgsql在用户执行某一个指定的操作时,自动激活触发器完成任务

触发器创建格式:

CREATE trigger 触发器名 BEFORE|AFTER 触发事件【INSERT|UPDATE|DELETE】 ON 表名
FOR EACH ROW EXECUTE PROCEDURE 触发器函数名();

BEFORE:在触发事件之前先完成函数动作,然后再执行触发事件本身

AFTER:在触发事件之后再完成函数动作

使用案例

 我们需要创建一个表timedb,有三个属性:uidgiduptime,其中uptime需要使用触发器timedb_updateTime在新增每条新记录时执行函数func_timedb自动获取当前时间并存储

1.先创建这张基础表timedb

CREATE TABLE timedb (uid INTEGER,gid INTEGER,uptime timestamp with time zone);

2.创建触发器函数

CREATE FUNCTION func_timedb() RETURNS trigger as $func_timedb$BEGIN if(TG_OP='UPTIME')thenif NEW.uptime=OLD.uptime thenreturn null;end if;end if;update timedb set uptime = NOW() where uid = NEW.uid and gid=New.gid;return null;end;
$func_timedb$ LANGUAGE plpgsql;

这里说明一下代码中的NEW和OLD,这两个关键字在触发器中有不同的用法

NEW:用于引用触发器操作后(例如,INSERT 或 UPDATE 操作后)的新行数据,

  • 在 INSERT 触发器中,NEW 表示将要插入的新行。
  • 在 UPDATE 触发器中,NEW 表示更新后的行数据。

OLD: 用于引用触发器操作前(例如,UPDATE 或 DELETE 操作前)的旧行数据,

  • 在 UPDATE 触发器中,OLD 表示更新前的行数据。
  • 在 DELETE 触发器中,OLD 表示将要被删除的行数据。

注意在update更新操作时是调用了内置函数NOW()来赋值给uptime注意不要打错字,不然该问题会在后续插入数据的时候才会出现错误

3.创建触发器

CREATE trigger timedb_updateTime AFTER INSERT ON timedb
FOR EACH ROW EXECUTE PROCEDURE func_timedb();

 

4.基础表和触发器都完成后就可以尝试插入数据了,我们只插入前两列的数据uidgid

INSERT INTO timedb VALUES(1,3);

5.最后查看一下我们插入的数据

没问题,uptime有正确的自动填入了 

使用触发器可以大大减少sql代码的书写工作,提高效率,除此之外还可以用于表更新时的某些数据进行自动化修改,不过触发器的应用频率并不是特别高,该部分内容可以仅了解。

作者的话(Alvin):

        本文根据原书《PostgreSql11 从入门到精通》(清华大学出版社)第11章总结整理,为提问与解答可以帮助更多人,本博客模拟GitHub的issue方案,所以私信已关,有问题请在评论区直接指正与提问,允许转发、复制或引用本文章,必须遵守开源法则注释来源与作者,感谢您的阅读

http://www.hkea.cn/news/181743/

相关文章:

  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站
  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化
  • 网页设计代码不能运行seo的中文名是什么
  • 灵溪网站建设外贸网站谷歌seo
  • 网站开发系统设计产品推销
  • 不用代码做网站 知乎百度引流推广怎么收费
  • 怎么看网站后台什么语言做的产品全网营销推广
  • 可以做宣传图的网站网络销售管理条例
  • 做书籍封皮的网站制作网站平台
  • 1网站建设公司长沙网站到首页排名
  • 域名还在备案可以做网站吗seo培训班
  • 前程无忧网宁波网站建设类岗位北京网站快速排名优化
  • 如何优化网站内部链接站长工具站长之家
  • 阿里云网站建设的实训报告免费的自媒体一键发布平台
  • 关于加强网站建设的意见企业获客方式
  • 帮企业建设网站保密合同优化设计电子课本
  • 金山石化网站建设广告电话
  • 网站开发 前景网络推广代理
  • 温州整站推广咨询seo网站推广专员
  • 企业营销型网站团队百度seo排名优化教程
  • 安徽平台网站建设哪里好网络策划与营销
  • 做网站接广告赚钱么凡科建站和华为云哪个好
  • 成都网站建设科技公seo营销外包公司
  • 重庆有哪些做网站 小程序的百度搜索引擎的特点
  • 仁怀哪里可以做网站自动秒收录网
  • 重庆市建设局网站推广软件一键发送
  • 合肥网络推广网络运营网站seo诊断分析和优化方案