mysql数据库创建了一个递归查询的函数,但是电脑重启后,函数就不存在了,求解决办法!!!在线等!!
代码如下
use abell_db;
DROP function IF EXISTS `getChildLst`;
set global log_bin_trust_function_creators=TRUE;
delimiter //
CREATE FUNCTION `getChildLst`(rootId INT)
RETURNS varchar(1000)
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(department_no) INTO sTempChd FROM department where FIND_IN_SET(superior_department,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
//
不是,是java的,我现在就不知道这个问题是怎么造成的,为什么函数创建了以后,重启了下电脑就没有掉的
追答没保存还是怎么回事儿?
追问函数怎么保存啊,不是sql语句执行下吗,执行了以后,测试的话,只要不关电脑的话,就没事的,只要电脑关了,这个函数,就得重新创建,。。。今天早晨来公司开电脑就碰到这个问题
追答java操作mysql数据库,语言同理,写下代码,把操作语句保存了,以后用的时候执行不就行了?
追问我不想这样,我想的是函数写到数据库了,就让他一直在数据里,不想每次用java再去创建一次和这个函数
怎么弄
追答创建方法SQL:
iN 为输入参数,OUT为输出
create procedure 过程名称(IN 输入参数名 类型, OUT 输入参数名 类型)
begin
..代码..
end
调用方法SQL:
call DBStore()