今天由于项目需要,需要写个存储过程,这个可是一年才难得写一次。于是没办法,重新捡起来。开始写
写到后来。。
CREATE FUNCTION `getChildLstnotSun`(department_id int)
RETURNS varchar(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd int;
declare fetchSeqOk boolean;
declare cur1 CURSOR FOR SELECT departmentId FROM sys_department_info where fatherDepartmentId=department_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET fetchSeqOk=true;
SET fetchSeqOk=false;
OPEN cur1;
fetchSeqLoop:Loop
FETCH cur1 INTO sTempChd;
if fetchSeqOk then
leave fetchSeqLoop;
else
SET sTemp := concat(sTemp,',',sTempChd);
end if;
end loop;
CLOSE cur1;
RETURN sTemp;
END
需要有个类似于for循环字符串拼接的代码
OPEN cur1;
fetchSeqLoop:Loop
FETCH cur1 INTO sTempChd;
if fetchSeqOk then
leave fetchSeqLoop;
else
SET sTemp := concat(sTemp,',',sTempChd);
end if;
end loop;
CLOSE cur1;
结果调试了半天,这个sTemp变量就是不出来.
最后开始奇思妙想。
结果在 SET fetchSeqOk=false;后面加上了 set sTemp='';
这时候才出来了。尼玛,原来这个是需要初始化一下的
顺便记一下,mysql的group_concat函数最好只用在字符串字段上
分享到:
相关推荐
一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]
Qt中执行sql语句,当需要变量存取从数据库中获取的值,首先取出一行数据,然后按列将数据分别赋给变量
为变量赋值通常使用`SET`语句,例如: ```sql DECLARE total_count INT DEFAULT 0; SET total_count = 10; ``` 这里将`total_count`的值设为了10。此外,`SELECT INTO`也可以用来将查询结果赋值给变量: ```sql ...
计算机后端-PHP视频教程. php与mysql加强- php加强6-变量赋值.wmv
对于生产环境上的mysql日志操作,常规是要用变量替换问号,为了解决机械化的赋值,就用Java写了一个工具,单纯的通过流操作把问号替换成变量
本文实例讲述了mysql变量用法。分享给大家供大家参考,具体如下: 本文内容: 系统变量 用户变量 局部变量 首发日期:2018-04-18 系统变量: 系统变量就是系统已经提前定义好了的变量 系统变量一般都有其特殊...
在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如...
- 在存储过程中,可以使用`SET`语句为局部变量赋值: ```sql SET pname = '新值'; ``` - 通过`SELECT...INTO`语句,可以将查询结果直接赋值给变量,甚至可以直接赋值给存储过程的`OUT`参数: ```sql SELECT ...
3. **创建数据库变量**:在组态王的变量管理器中,创建新的数据库变量,选择刚才配置的数据源,指定要读取的数据库表和字段。 4. **编写脚本或程序**:组态王支持脚本语言,你可以编写运行时的脚本来执行SQL查询...
声明变量 设置全局变量 ...要注意一点就是变量名不能和字段名一致 存储过程 存储过程将一段通用的操作封装在一起 这样再不同平台都可以公用了 储存过程没有返回值,而且不能sql语句调用,只能是call调用,
3. 变量定义:在 MySQL 中,需要在每句前面加 DECLARE 给变量赋值,例如 SET string:='asdas';。 4. 异常处理:Oracle 的异常处理语句 EXCEPTION WHEN OTHERS THEN … 对应 MySQL 的 DECLARE {EXIT|CONTINUE} ...
其次,你也能利用它给变量赋值,而在PHP中,运用SELECT语句的这种功能,你就可以自由地运用MySQL的函数为PHP程序进行各种运算,并赋值给变量。在很多的时候,你会发现MySQL拥有许多比PHP更为功能强大的函数。