1193-Unknown system variable ‘done’

本文介绍了一种在存储过程中因未正确声明变量导致的错误及其解决方案。具体问题出现在一个循环结构中,由于变量done未被事先声明而引发错误。通过增加对done变量的声明并设置默认值为0,成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、错误描述



2、错误原因

BEGIN
  DECLARE l_id INT;
  DECLARE l_name VARCHAR(20);
  DECLARE l_age INT;
  DECLARE cur_stu CURSOR FOR SELECT t.id,t.name,t.age FROM t_stu_info t;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

  OPEN cur_stu;
  my_loop:LOOP
     FETCH cur_stu INTO l_id,l_name,l_age;
  IF done=1 THEN
     LEAVE my_loop;
  END IF;
  END LOOP my_loop;
  CLOSE cur_stu;

END
存储过程中使用的变量done未声明,却使用了


3、解决办法

先对done变量进行声明,后使用

BEGIN
	DECLARE l_id INT;
  DECLARE l_name VARCHAR(20);
  DECLARE l_age INT;
  DECLARE done INT DEFAULT 0;
  DECLARE cur_stu CURSOR FOR SELECT t.id,t.name,t.age FROM t_stu_info t;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

  OPEN cur_stu;
  my_loop:LOOP
     FETCH cur_stu INTO l_id,l_name,l_age;
  IF done=1 THEN
     LEAVE my_loop;
  END IF;
  END LOOP my_loop;
  CLOSE cur_stu;

END



make PythonAPI Util/BuildTools/Linux.mk:163: 警告:覆盖关于目标“downloadplugins”的配方 Util/BuildTools/Linux.mk:142: 警告:忽略关于目标“downloadplugins”的旧配方 Setup.sh: boost-1.80.0-c10 already installed. Setup.sh: rpclib-v2.2.1_c5-c10 already installed. Setup.sh: Retrieving Google Test. 正克隆到 'gtest-1.8.1-c10-source'... remote: Enumerating objects: 369, done. remote: Counting objects: 100% (369/369), done. remote: Compressing objects: 100% (320/320), done. remote: Total 369 (delta 122), reused 88 (delta 37), pack-reused 0 (from 0) 接收对象中: 100% (369/369), 1.06 MiB | 1.57 MiB/s, 完成. 处理 delta 中: 100% (122/122), 完成. 注意:正在切换到 '2fe3bd994b3189899d93f1d5a881e725e046fdc2'。 您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换 回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。 如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令 中添加参数 -c 来实现(现在或稍后)。例如: git switch -c <新分支名> 或者撤销此操作: git switch - 通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议 Setup.sh: Building Google Test with libc++. CMake Error at /usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake:49 (message): Could not find compiler set in environment variable CC: /Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang. Call Stack (most recent call first): CMakeLists.txt:7 (project) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! See also "/home/mec/carla/Build/gtest-1.8.1-c10-libcxx-build/CMakeFiles/CMakeOutput.log". make: *** [Util/BuildTools/Linux.mk:142:setup] 错误 1
06-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值