阿阿阿阿颜 2022-12-17 16:28 采纳率: 100%
浏览 264
已结题

Invalid Stored Procedure Syntax

保存然后报错说:Invalid Stored Procedure Syntax


CREATE DEFINER=`root`@`localhost` FUNCTION `chumen`(in student_sid varchar(12),IN REASON TEXT)
begin
DECLARE id int;                                       -- 存储二维码信息长度
DECLARE info VARCHAR(50);                             -- 存储查询结果的变量
DECLARE s_time TIMESTAMP ;                            -- 存储请假单的开始时间
DECLARE f_time TIMESTAMP;                             -- 存储请假单的结束时间
DECLARE r_state VARCHAR(6);                           -- 存储请假的状态
DECLARE result VARCHAR(10) default '1';               -- 存储最后的结果
set id= (SELECT LENGTH(in_id));
if id=11
then set info='老师,您好!';
elseif id=12
then set info='同学,您好,请出示请假条二维码!';
ELSE BEGIN
SELECT s_time ,f_time,state into s_time,f_time, r_state
from leave_request
where id=in_id and state='未出校';
if r_state='未出校'
then if s_time-NOW()<=0 and f_time-NOW()>=0
then BEGIN
set info='通过!';
UPDATE `request for leave` set state='已出校',out_time=NOW() where id=in_id;
end;
ELSE set info='时间未到或已超时!';
end if;
ELSE set info= '请假单无效!';
end if ;
end ;
end if;                                              -- 判断二维码的种类;
UPDATE eave request set state='已出校' where id=in_id;
RETURN info;
end
  • 写回答

1条回答 默认 最新

  • curating 2022-12-17 23:55
    关注

    语法错了。function 的begin前有returns type。
    例子

    DELIMITER //  
    CREATE FUNCTION GetEmployeeInformationByID(id INT)  
    RETURNS VARCHAR(300)  
    BEGIN  
        RETURN(SELECT CONCAT('employee name:',employee_name,'---','salary: ',employee_salary) FROM employees WHERE employee_id=id);  
    END//  
    DELIMITER ;  
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 12月17日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口