SQL脚本:
DELIMITER $$
CREATE FUNCTION random_ss(num INT) RETURNS VARCHAR(64)
BEGIN
DECLARE str VARCHAR(64) DEFAULT 'abcdefghigklmnopqrstuvwxyz';
DECLARE i INT DEFAULT 1;
DECLARE j VARCHAR(64) DEFAULT '';
aa:WHILE i <= num DO
SET j = CONCAT(j,SUBSTR(str,FLOOR(RAND()*26+1),1));
SET i = i+1;
END WHILE aa;
RETURN j;
END $$
此时如果报错 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its …
执行以下命令:SET GLOBAL log_bin_trust_function_creators = TRUE; // 临时生效
或者永久生效,修改my.ini配置 log_bin_trust_function_creators=1
创建一个存储过程:
DELIMITER $$
CREATE PROCEDURE random_test(
IN n INT,
IN m INT)
BEGIN
DECLARE k INT DEFAULT 1;
bb:WHILE k <= n DO
INSERT INTO random (NAME) VALUES(random_ss(m));
SET k = k+1;
END WHILE bb;
END $$
调用存储过程:
CALL random_test(5,6);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)