`
java新手上路
  • 浏览: 81839 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类

mysql 变量赋值要注意的

    博客分类:
  • db
阅读更多
今天由于项目需要,需要写个存储过程,这个可是一年才难得写一次。于是没办法,重新捡起来。开始写
写到后来。。
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 存储过程中变量的定义与赋值操作

    一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]

    Qt从数据库中提取数据给变量赋值

    Qt中执行sql语句,当需要变量存取从数据库中获取的值,首先取出一行数据,然后按列将数据分别赋给变量

    计算机后端-PHP视频教程. php与mysql加强- php加强6-变量赋值.wmv

    计算机后端-PHP视频教程. php与mysql加强- php加强6-变量赋值.wmv

    mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法

    结合实例形式较为详细的分析了mysql存储过程创建、调用及变量创建、赋值具体原理、操作技巧与相关注意事项,需要的朋友可以参考下

    mysql变量用法实例分析【系统变量、用户变量】

    本文实例讲述了mysql变量用法。分享给大家供大家参考,具体如下: 本文内容: 系统变量 用户变量 局部变量 首发日期:2018-04-18 系统变量: 系统变量就是系统已经提前定义好了的变量 系统变量一般都有其特殊...

    MySQL变量原理及应用实例

    在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如...

    MySql变量替换语句生成器

    对于生产环境上的mysql日志操作,常规是要用变量替换问号,为了解决机械化的赋值,就用Java写了一个工具,单纯的通过流操作把问号替换成变量

    MySQL 声明变量及存储过程分析

    声明变量 设置全局变量 ...要注意一点就是变量名不能和字段名一致 存储过程 存储过程将一段通用的操作封装在一起 这样再不同平台都可以公用了 储存过程没有返回值,而且不能sql语句调用,只能是call调用,

    MySQL进阶SELECT语法篇

    其次,你也能利用它给变量赋值,而在PHP中,运用SELECT语句的这种功能,你就可以自由地运用MySQL的函数为PHP程序进行各种运算,并赋值给变量。在很多的时候,你会发现MySQL拥有许多比PHP更为功能强大的函数。

    Bash技巧:把变量赋值为换行符(判断文件是否以换行符结尾)

    在 bash 中,如果要把变量赋值为换行符,写为 ‘\n’ 没有效果,需要写为 $’\n’。具体举例如下: $ newline='\\n' $ echo $newline \n $ newline=$'\n' $ echo $newline 可以看到,把 newline 变量赋值为 ‘n’,...

    理解MySQL变量和条件

    二、变量定义和赋值  #创建数据库 DROP DATABASE IF EXISTS Dpro; CREATE DATABASE Dpro CHARACTER SET utf8 ; USE Dpro; #创建部门表 DROP TABLE IF EXISTS Employee; CREATE TABLE Employee (id INT NOT NULL ...

    MySQL数据库中SELECT语句快速精细掌握

    其次,你也能利用它给变量赋值,而在PHP中,运用SELECT语句的这种功能,你就可以自由地运用MySQL的函数为PHP程序进行各种运算,并赋值给变量。在很多的时候,你会发现MySQL拥有许多比PHP更为功能强大的函数。

    PHP和MySQL+WEB开发(非常详细)

    《php和mysql web开发(原书第4版)》:是PHP+MySQL开发的经典教程。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零...

Global site tag (gtag.js) - Google Analytics