mysql报错1415Not allowed to return a result set from a trigger 不知如何修改
相关代码如下:
DELIMITER //
CREATE PROCEDURE resource_id(out next_value int)
BEGIN
DECLARE prefix VARCHAR(2);
DECLARE max_id varchar(10);
-- 获取当前表中最大的主键值
SELECT MAX(rid) INTO max_id FROM resource;
SET next_value = CAST(SUBSTRING(max_id,6, 3) AS UNSIGNED) + 1;
-- 根据当前最大的主键值生成下一个递增值
-- 返回生成的递增主键值
SELECT next_value;
END //
DELIMITER ;
DELIMITER $$
DROP TRIGGER IF EXISTS`tri_res`$$
CREATE TRIGGER tri_res BEFORE INSERT ON RESOURCE FOR EACH ROW
BEGIN
DECLARE NEXT INT;
DECLARE n INT;
DECLARE pid VARCHAR(10);
SELECT LEFT(provinceid,3) INTO pid
FROM city,RESOURCE WHERE city.city=resource.ricty LIMIT 1;
CALL resource_id(NEXT);
SELECT NEXT INTO n;
IF new.rtype = '餐饮美食'
THEN
SET new.rid = CONCAT('CY',pid, LPAD(n, 2, '0'));
END IF;
END $$
DELIMITER ;