创建Mysql存储报错,查不出哪里错,求解!

万木青 发布于 2018/04/23 09:32
阅读 121
收藏 0

#创建存储为指定表增加一随机数列
DROP PROCEDURE IF EXISTS adrdcl;
DELIMITER ;;
CREATE DEFINER="root"@"localhost" PROCEDURE adrdcl(IN tbnm varchar(20))
BEGIN
    #获得传进表名的行数
    DECLARE clct INT DEFAULT 0;
    SET @ctst = CONCAT("SELECT COUNT(*) INTO @clct FROM " , tbbm);#记得留空格
    PREPARE pr1 FROM @ctst;
    EXECUTE Pr1;
    #为传进表名插入一新列
    SET @adcl = CONCAT("ALTER TABLE " , tbnm , " ADD COLUMN rdcl decimal(6,5)");
    PREPARE pr2 FROM @adcl;
    EXECUTE pr2;
    #循环写入随机数,前提是有一列是类行号的列
    DECLARE I INT DEFAULT 0;
    WHILE I < @clct DO
        SET @wird = CONCAT('UPDATE ', tbnm ," SET rdcl=", RAND() ," WHERE tbid = " , i);
        PREPARE pr3 FROM @wird;
        EXECUTE pr3;
        SET I = I+1;
    END WHILE;
END;;

命令行中执行,报错,如图,求解

加载中
返回顶部
顶部