寫個存儲過程!代碼以下: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函數, 多好的,還解決了類型轉換。