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
函數, 多好的,還解決了類型轉換。
相關文章
相關標籤/搜索