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

潍坊 seo网站建设旅游景点网站建设现状

潍坊 seo网站建设,旅游景点网站建设现状,手机网站开发模板,腾讯云服务器学生优惠大家好#xff0c;我是三叔#xff0c;许久不见#xff0c;这期给大家介绍一下笔者在开发中遇到的业务处理#xff1a;pgsql 创建触发器生成每日递增序列#xff0c;并且第二天重置#xff0c;根据不同的用户进行不同的控制。 1.创建生成递增序列的 table 表 -- 创建us…大家好我是三叔许久不见这期给大家介绍一下笔者在开发中遇到的业务处理pgsql 创建触发器生成每日递增序列并且第二天重置根据不同的用户进行不同的控制。 1.创建生成递增序列的 table 表 -- 创建user_sequences表用于保存生成的序列号 CREATE TABLE user_sequences (id serial,user_name varchar(255) NULL, -- 区分不同用户可根据不同业务组装keyincrement_value int4 NULL, -- 递增序列号last_increment_date timestamp NULL, -- 触发器参数时间description varchar(255) NULL, -- 描述tenant_id varchar(32) NULL, -- 租户IDcreate_user varchar(32) NULL, -- 创建人IDcreate_time timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间update_user varchar(32) NULL, -- 最后修改人IDupdate_time timestamp NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间CONSTRAINT user_sequences_pk PRIMARY KEY (id) );2.创建一个触发器函数 要创建一个触发器你需要 1、使用 create function 语句创建一个触发器函数 2、使用 create trigger 语句将触发器函数绑定到数据表 3、创建触发器函数语法 触发器函数与普通函数类似不同之处在于触发器不需要任何参数并且触发器函数需要返回trigger类型值 -- 创建触发器函数 CREATE OR REPLACE FUNCTION insert_increment_value_if_not_exists() RETURNS TRIGGER AS $$ BEGIN-- 检查 user_sequences 表中是否存在对应的 user_nameIF NOT EXISTS (SELECT 1 FROM user_sequences WHERE user_name NEW.user_name) THEN-- 在 user_sequences 表中插入新的记录RETURN NEW;else UPDATE user_sequencesSET increment_value increment_value 1WHERE user_name NEW.user_name; END IF;RETURN null; END; $$ LANGUAGE plpgsql;上述部分语法解释 NEW该变量为 INSERT/UPDATE 操作触发的行级触发器中存储新的数据行 3.创建触发器 -- 这里介绍一下创建触发器语法(如下简单语法) create trigger trigger_name{before | after | instead of} event1 or event2...on table_name{for each row | for each statement}execute procedure trigger_function;event1 事件可以是insert, update, delete, truncate before 表示定义触发器在事件之前 after: 表示定义触发器在事件之后 intead of 表示仅用于视图的insert, update, delete for each row表示行级触发器 for each statement表示语级触发器实际业务逻辑如下笔者在插入表数据的时候触发执行器执行begin -》end 的 sql 逻辑这样我就能在每天对不同的用户生成一个从1开始的递增序列每次相同用户同一天访问一次序列递增加1 CREATE TRIGGER insert_increment_value_trigger BEFORE INSERT ON user_sequences FOR EACH ROW EXECUTE FUNCTION insert_increment_value_if_not_exists();4.业务处理逻辑 大家可以看到在创建触发器的时候有这么一句语法BEFORE INSERT ON user_sequences这句话是什么意思呢 根据上面的触发器语法介绍可以知道在每次执行 insert 语句之前会执行触发器里面的语法。 Service public class xxxCommon {Autowiredprivate TableMapper mapper;Transactional(rollbackFor Exception.class)public String getSequencesNum(String userName) {// 需要注意的是这里的userName需要保证唯一可以拼接时间yyyyMMdd这样可以保证每天获取新的递增序列// 第二种方法就是在笔者的基础上添加时间的判断条件判断上一次修改或生成数据的时间是否不等于当前时间如果是的则重新从1开始递增UserSequencesVO vo new UserSequencesVO();assembleParam(vo);vo.setIncrementValue(1);vo.setUserName(userName);// 触发器触发条件insert 语句进行触发这里我在xml里面写了一条新增的sql语句从而触发触发器mapper.insertTriger(vo);// 这里获取数据库返回的序列号UserSequencesVO sequencesVO UserSequencesMapper.selectByUserName(userName);// 根据自己的业务组装返回值return sequencesVO.getIncrementValue();}private void assembleParam(UserSequencesVO vo) {vo.setDescription(获取当前key的递增序列);vo.setTenantId(userUtil.getTenantId());vo.setLastIncrementDate(LocalDateTime.now());vo.setCreateTime(LocalDateTime.now());vo.setCreateUser(userUtil.getId());vo.setTenantId(userUtil.getTenantId());vo.setUpdateTime(LocalDateTime.now());vo.setUpdateUser(userUtil.getTenantId());} }业务处理 在拿到递增的序列号之后就可以对序列号进行一系列的组装操作这样根据不同的用户互不影响获取从 1 开始递增的序列号并且第二天重置 结果如下 笔者成功获取到每天操作文档的次数 最后如何删除触发器 DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]参数说明 IF EXISTS如果该触发器不存在 name要移除的刚刚定义的触发器的名称 table_name定义了该触发器的表的名称 CASCADE自动删除依赖于该触发器的对象然后删除所有 依赖于那些对象的对象 RESTRICT如果有任何对象依赖于该触发器则拒绝删除它这是默认值 -- 示例 DROP TRIGGER insert_increment_value_trigger ON user_sequences;
http://www.zqtcl.cn/news/820295/

相关文章:

  • 广东网站优化布吉做棋牌网站建设有哪些公司
  • 联邦快递的网站建设图书馆建设网站注意点
  • 西安好的皮肤管理做团购网站wordpress stats
  • 文山 网站建设 滇icp卡盟网站顶图怎么做
  • 北京网站建设公司哪些好电商建站
  • 沈阳百度广告广州营销seo
  • 营销型企业网站建设步骤做网站怎样和客户沟通
  • 多媒体教学网站开发的一般步骤网络公司网站赏析
  • 阿里云手机网站建设多少钱wordpress幻灯片制作
  • 个人博客网站下载公司邮箱免费注册
  • 厦门外贸网站建设多少钱wordpress 增大字体
  • 可以做外链的网站有哪些外贸阿里巴巴国际站
  • 潮安区住房和城乡建设局网站网站开发技术分析
  • 网站跳出率因素建设单位应该关注的网站
  • php开发的大型金融网站有哪些网站开发可以自学吗
  • 个人建网站成本wordpress 增加阅读量
  • wordpress构建自己的网站大连网站建设主页
  • 棋牌网站开发工程师网站app制作费用单
  • 为什么做网站比app便宜精准营销服务
  • 网站平台做捐助功能有风险吗wordpress博客 翻墙
  • 泰州网站建设专业团队长沙seo顾问
  • 网站建设情况简介seo的基本步骤顺序正确的是
  • wordpress 文件目录结构关键字优化价格
  • 连云港网站关键字优化市场网站 设计 文档
  • 哈尔滨企业建站服务商龙岩建筑网
  • 四川住房城乡建设厅官方网站中国建设银行在网站怎么签约
  • wordpress tortuga安徽seo网站
  • 厦门商务网站建设网络规划与设计实用教程
  • win8风格门户网站已经建网站做外贸
  • 自己有域名如何做网站wordpress文章中外链