mysql 存储过程(proceduce)查询一个表的结果插入另外一个表

公司的时间戳存证业务,对发版过程中间数据处理需要用到存储过程。对此做一个简短记录,以免遗忘。

DROP procedure record_timestamp_deal ;

##创建存储过程
create procedure record_timestamp_deal()

begin

declare tslogId varchar(50);
declare done int default 0;

# declare existence boolean ;

##从时间戳记录表中获取ID存入游标
declare cur cursor for select id from time_stamp_log;

##异常处理
declare continue handler for sqlstate ‘02000‘ set done = 1;

open cur;
    ##取出游标值至变量中
    fetch next from cur into tslogId;

repeat
    if not done then
        #查询时间戳待记录id是否在时间戳待存证表
        if (select * from osv_timestamp_evi_prepare where timestampId = tslogId) is not null then
            ##不存在的记录写入待存证表
            insert into osv_timestamp_evi_prepare(timestampId,createTime) values(tslogId,now());
        end if;
    end if;

    ##重新抓取数据进入循环
    fetch next from cur into tslogId;

##结束循环
until done end repeat;

##关闭游标
close cur;

end ;

call record_timestamp_deal();
时间: 2024-10-07 10:32:52

mysql 存储过程(proceduce)查询一个表的结果插入另外一个表的相关文章

MySQL 数据库中如何把A表的数据插入到B表?

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码. 以mysql数据库为例分情况一一说明: 两张表:insertTest和insertTest2,前者中有测试数据 create table insertTest(id int(4),name varchar(12));insert into insertTest values(100,'tom')

oracle创建、删除 数据库、建立表空间以及插入 删除 修改表

一.创建.删除数据库 oracle OraDb11g_home->配置和移植工具->Database configration  Assistant->...然后可以创建或者删除数据库 二.建立表空间 create tablespace inspur_tablespace   logging datafile 'D:\MyOracleBACK SQL\StudentDB\inspur_tablespace.dbf'  size 50m autoextend on next 50m max

mysql存储过程实例,查询多参数赋值

drop procedure if exists p_for_create_customer; create procedure p_for_create_customer()begin declare ii int default 0; declare i int default 1; declare minss int default 0; declare idd int; declare start_d datetime; declare channel_code_ VARCHAR(255

mysql用视图和事件实现数据间隔插入数据到表

创建视图 CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`192.168.*.*` SQL SECURITY DEFINER VIEW `perfdata` AS SELECT `nagios_hosts`.`display_name` AS `hostname`, `nagios_services`.`display_name` AS `servicename`, `nagios_servicechecks`.`end_time` AS `time

用倍增方式查询本表数据再插入到本表,用作测试数据

INSERT INTO `user`( `name`, `password`, `sex`, `age`, `email`, `mypage`, `salary`) SELECT `name`, `password`, `sex`, `age`, `email`, `mypage`, `salary` FROM `user` 注意,不要把主键id放进去

两个表连接一下插入另一个表中

USE [R_BIMPM_RoadBridge]GO INSERT INTO [dbo].[ProjectConstructionType_Relation] ([RowGuid] ,[ProjectRowGuid] ,[ConstructionTypeRowGuid] ,[TypeName] ,[CType] ,[IsVisible] ,[TypeUnit] ,[IsUsedLocationSelect] ,[TypeSumCost] ,[CreationDate]) select newID

插入函数概念 接收一个callback,然后外面函数,接一个对象,和一个next,外面都执行完了,继续执行下一个函数,相当于一个链状体,插入了一个函数的概念

app.use(function (ctx, next) { ctx.log.info('Got a request from %s for %s', ctx.request.ip, ctx.path); return next(); }); Koa2 学习文档 (不错我觉得) https://blog.csdn.net/pingsoli/article/details/76584093 log4js 输出 等于 console.info 原文地址:https://www.cnblogs.com

MySQL存储过程详解 mysql 存储过程

MySQL存储过程详解  mysql 存储过程 (2010-12-13 10:59:38) 转载▼ 标签: it 分类: mysql mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保

MySQL存储过程详解 mysql 存储过程(转:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html)

转:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和