博客
关于我
造数存储过程
阅读量: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/

你可能感兴趣的文章
NFS安装配置
查看>>
NFS服务器配置-服务启动与停止
查看>>
NFS的安装以及windows/linux挂载linux网络文件系统NFS
查看>>
NFS的常用挂载参数
查看>>
NFS网络文件系统
查看>>
NFS远程目录挂载
查看>>
nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
查看>>
NFV商用可行新华三vBRAS方案实践验证
查看>>
ng build --aot --prod生成文件报错
查看>>
ng 指令的自定义、使用
查看>>
ng6.1 新特性:滚回到之前的位置
查看>>
nghttp3使用指南
查看>>
【Flink】Flink 2023 Flink 自动化运维的大规模落地实践
查看>>
Nginx
查看>>
nginx + etcd 动态负载均衡实践(一)—— 组件介绍
查看>>
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + Tomcat + SpringBoot 部署项目
查看>>