文档章节

sql存储过程

远方__
 远方__
发布于 2016/12/23 12:34
字数 309
阅读 2
收藏 0

写个存储过程!代码如下:

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
函数, 多好的,还解决了类型转换。

本文转载自:http://blog.csdn.net/sinat_27615265/article/details/48140277

远方__
粉丝 0
博文 82
码字总数 0
作品 0
丰台
程序员
私信 提问
mysql-储存过程_已迁移

我们大家都知道MySQL 存储过程是从 MySQL 5.0 开始逐渐增加新的功能。存储过程在实际应用中也是优点大于缺点。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存...

鬼谷子灬
2016/06/29
19
0
PHP调用MYSQL存储过程实例

实例一:无参的存储过程 $conn = mysqlconnect('localhost','root','root') or die ("数据连接错误!!!"); mysqlselectdb('test',$conn); $sql = " create procedure myproce() begin INSERT ......

vga
2014/07/31
112
0
SQL Server 查看存储过程

有几种系统存储过程和目录视图可提供有关存储过程的信息。使用它们,您可以: 查看存储过程的定义。即查看用于创建存储过程的 Transact-SQL 语句。这对于没有用于创建存储过程的 Transact-S...

技术小胖子
2017/11/08
0
0
mysql 存储过程中使用动态sql语句

简单的存储过程各个关键字的用法: mysql 存储过程中使用动态sql语句 Mysql 5.0 以后,支持了动态sql语句,我们可以通过传递不同的参数得到我们想要的值 这里介绍两种在存储过程中的动态sql 1...

文文1
06/24
70
0
MySQL DDL操作--------存储过程最佳实战

1. 背景 * 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定...

asd1123509133
2017/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
8
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部