sql存储过程

写个存储过程!代码以下:sql

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语句以后oop

例如:spa

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
函数, 多好的,还解决了类型转换。
相关文章
相关标签/搜索