博客
关于我
造数存储过程
阅读量:783 次
发布时间:2019-03-25

本文共 1317 字,大约阅读时间需要 4 分钟。

下面将展示如何为测试数据库创建一个表并定义一个加载存储过程的详细步骤。

###.CREATE TABLE语句 ```sqlcreate table test_load(a int,b char(80)) engine=innodb;

说明:

  • 这行语句创建了一个名为test_load的表,其中包含两个字段:
    • a(类型为int),用于存储整数值。
    • b(类型为char(80)),用于存储最大长度为80个字符的文本数据,通常用于字符串或短文本字段。
  • 存储引擎设置为InnoDB,这是一个常用的高性能存储引擎。

###设置分隔符

delimiter ;

说明:

  • 这行语句将默认的分隔符从\\更改为;,使得SQL语句更容易阅读和执行。
  • 在存储程序或函数中,通常会暂时设置为;以便明确区分不同语句的结尾。

###创建存储程序p_load

create procedure p_load(count int unsigned)

说明:

  • 这行语句定义了一个名为p_load的存储程序,接受一个无符号整数参数count
  • 存储程序用于批量加载数据到数据库表中。

###存储程序实现逻辑

begin      declare s int unsigned default 1;      declare c char(80) default repeat('a',80);

说明:

  • declare s int unsigned default 1;:声明变量s,类型为无符号整数,默认值为1。这个变量用于计数循环次数。
  • declare c char(80) default repeat('a',80);:声明变量c,类型为固定长度的字符,字符长度为80,默认值为重复字符'a' 80次形成的字符串。这个字符串会被重复插入到表中。

###执行循环

while s <= count do      insert into test_load select null,c;      set s = s+1;  end while;

说明:

  • while s <= count do:开始一个while循环,继续执行循环体内的语句,直到s的值大于count
  • insert into test_load select null,c;:向表test_load中插入一条新记录,null用于a字段(整数字段),c字段插入默认字符串aaaaaaaaaaaa...(共80个字符)。
  • set s = s+1;:将变量s1,表示已经处理了下一个批次。
  • end while;:结束循环。当s超过count时,循环结束。

###提交并结束存储程序

commit;  end;

说明:

  • commit;:提交事务,这一步非常关键,因为存储程序在未提交之前,数据不会被写入数据库。
  • end;:结束存储程序的定义。
  • 提交后,所有已插入的数据已经被写入表中,数据库 transaction 被确认。

###总结

通过以上步骤,我们成功创建了一个测试表test_load和一个存储程序p_load。存储程序能够根据提供的count参数,向表中批量插入符合ab列定义的数据。

转载地址:http://wtduk.baihongyu.com/

你可能感兴趣的文章
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>