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

你可能感兴趣的文章
Objective-C实现Levenshtein 距离算法(附完整源码)
查看>>
Objective-C实现levenshteinDistance字符串编辑距离算法(附完整源码)
查看>>
Objective-C实现lfu cache缓存算法(附完整源码)
查看>>
Objective-C实现LFU缓存算法(附完整源码)
查看>>
Objective-C实现linear algebra线性代数算法(附完整源码)
查看>>
Objective-C实现linear congruential generator线性同余发生器算法(附完整源码)
查看>>
Objective-C实现linear discriminant analysis线性判别分析算法(附完整源码)
查看>>
Objective-C实现linear regression线性回归算法(附完整源码)
查看>>
Objective-C实现linear search线性搜索算法(附完整源码)
查看>>
Objective-C实现Linear search线性搜索算法(附完整源码)
查看>>
Objective-C实现LinearSieve线性素数筛选算法 (附完整源码)
查看>>
Objective-C实现LinkedListNode链表节点类算法(附完整源码)
查看>>
Objective-C实现LinkedList链表算法(附完整源码)
查看>>
Objective-C实现local weighted learning局部加权学习算法(附完整源码)
查看>>
Objective-C实现logistic regression逻辑回归算法(附完整源码)
查看>>
Objective-C实现logistic sigmoid函数(附完整源码)
查看>>
Objective-C实现longest Common Substring最长公共子串算法(附完整源码)
查看>>
Objective-C实现longest increasing subsequence最长递增子序列算法(附完整源码)
查看>>
Objective-C实现longestCommonSubsequence最长公共子序列算法(附完整源码)
查看>>
Objective-C实现LongestIncreasingSubsequence最长递增子序列算法(附完整源码)
查看>>