我在Maria DB中有以下代码,
我想在查询中使用函数创建一个序列,该序列以my TABLE1的count(*)+1开始
它在CREATE SEQUENCE查询中给出了一个错误:
CREATE FUNCTION myFuntion() RETURNS INT
BEGIN
DECLARE lastID INT DEFAULT 1;
SELECT COUNT(*) INTO lastID FROM TABLE1;
RETURN lastID+1;
END;
CREATE SEQUENCE seq101 START WITH myFuntion() INCREMENT BY 1 ;
错误:
错误1064(42000):SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,了解在"myFuntion()INCREMENT BY 1"附近使用的正确语法}
1条答案
按热度按时间btqmn9zl1#
我认为唯一的方法是使用预准备语句和变量,因为PREPARE FROM/EXECUTE IMMEDIATE中不允许使用用户函数。