MySQL存储过程实现批量插入数据
2013-03-22 17:22
671 查看
很久很久没有写篇文章了,主要是找不到写的,还有就是懒得写,但是今天这篇文章必须写的,因为我知道今后肯定还会用到。
好吧,一直都只知道数据库的增删改查,其他的什么事务、存储过程用的很少,今天开始项目代码编写,数据库中用户表居然一条记录都没有,既然没有记录我还怎么查询呢?想往用户表添加20条记录,难道我要一条一条的手动添加,程序员怎么可以这样?????
好吧,写个存储过程!代码如下:
存储过程写好了, CALL IsertUsers()即可;
问题一:SET一个变量的值后,居然不能继续DECLARE另外一个变量,也就是说DECLARE语句不能写在SET语句之后?
例如:
正确!难道是我哪儿出问题了,对于这样的设计感到很无奈!
问题二:MySQL连接两个字符居然用“+”,
还好有
好吧,一直都只知道数据库的增删改查,其他的什么事务、存储过程用的很少,今天开始项目代码编写,数据库中用户表居然一条记录都没有,既然没有记录我还怎么查询呢?想往用户表添加20条记录,难道我要一条一条的手动添加,程序员怎么可以这样?????
好吧,写个存储过程!代码如下:
CREATE PROCEDURE InsertUsers() BEGIN DECLARE userName VARCHAR(50); DECLARE userPwd VARCHAR(50); DECLARE userTureName VARCHAR(50); DECLARE userTelephone VARCHAR(50); DECLARE userMobilephone VARCHAR(50); DECLARE userQq VARCHAR(50); DECLARE userAddress VARCHAR(50); DECLARE userEmail VARCHAR(50); DECLARE userIsFrezee int; DECLARE userParentId int; DECLARE userRemark VARCHAR(50); DECLARE userSpId int; DECLARE i int; set userPwd = "123456789"; set userTureName = "testUser"; set userTelephone = "123456789"; set userMobilephone = "123456789"; set userQq = "123456798"; set userAddress = "学府路一段24号"; set userEmail = "asd@qq.com"; set userIsFrezee = 0; set userParentId = 1; set userRemark = "test_user"; set userSpId = 1; set i = 1; loop1:WHILE(i < 21) do Set userName=concat('danger',i); INSERT into t_user(user_name, user_pwd, user_true_name, user_telephone, user_mobilephone, user_qq_number, user_address, user_email, user_isfrezee, user_parent_id, user_remark, user_sp_id) VALUES(userName, userPwd, userTureName, userTelephone, userMobilephone, userQq, userAddress, userEmail, userIsFrezee, userParentId, userRemark, userSpId); SET i = i + 1; end while loop1; END
存储过程写好了, CALL IsertUsers()即可;
问题一:SET一个变量的值后,居然不能继续DECLARE另外一个变量,也就是说DECLARE语句不能写在SET语句之后?
例如:
CREATE PROCEDURE test() BEGIN DECLARE a VARCHAR(20); set a = "ddd"; DECLARE b VARCHAR(20); END;上面的写法居然报错,改一改位置:
CREATE PROCEDURE test() BEGIN DECLARE a VARCHAR(20); DECLARE b VARCHAR(20); set a = "ddd"; END;
正确!难道是我哪儿出问题了,对于这样的设计感到很无奈!
问题二:MySQL连接两个字符居然用“+”,
还好有
concat函数,多好的,还解决了类型转换。
相关文章推荐
- postgresql函数存储过程实现数据批量插入
- 利用mysql存储过程向数据库批量插入数据
- 使用mySQL存储过程为表批量插入数据
- php+mysqli实现批量执行插入、更新及删除数据的方法
- mysql 定义函数实现批量插入数据实例[备忘]
- mysql存储过程,批量插入10000条数据
- MYSQL中创建存储过程实现向表中循环插入数据
- 使用Mysql 存储过程,批量插入100万条数据
- 将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据
- java(功能篇) java(mysql)数据库 实现数据批量插入
- Mysql 存储过程 处理批量插入具有一定特点的数据
- mysql 批量插入数据优化
- Repeater获取勾选数据,拼接成SQL实现批量删除+存储过程
- 在Mysql数据库里通过存储过程实现树形的遍历
- C API向MySQL插入批量数据的快速方法——关于mysql_autocommit
- Mysql使用insert插入多条记录 批量新增数据
- Mysql 快速插入批量数据,从文件中导入数据
- 简单实现redis数据实时插入MySQL过程
- asp下实现批量插入数据的方法
- java mysql分页查询大量数据,批量插入