mysql createst_MySQL创建递归型的存储过程

第一步:SET max_sp_recursion_depth=12; 第二步:创建createChildDept过程 DELIMITER $$ USE `zhiku`$$ DROP PROCEDURE IF EXIS

第一步:SET max_sp_recursion_depth=12;

第二步:创建createChildDept过程

DELIMITER $$

USE `zhiku`$$

DROP PROCEDURE IF EXISTS `createChildDept`$$

CREATE DEFINER=`root`@`%` PROCEDURE `createChildDept`(IN rootId INT,IN nDepth INT)

BEGIN

DECLARE done INT DEFAULT 0;

DECLARE b INT;

DECLARE cur1 CURSOR FOR SELECT id FROM zk_departments WHERE parent_id=rootId;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

INSERT INTO tmpLst VALUES (NULL,rootId,nDepth);

OPEN cur1;

FETCH cur1 INTO b;

WHILE done=0 DO

CALL createChildDept(b,nDepth+1);

FETCH cur1 INTO b;

END WHILE;

CLOSE cur1;

END$$

DELIMITER ;

第三步:创建showChildDept

DELIMITER $$

USE `zhiku`$$

DROP PROCEDURE IF EXISTS `showChildDept`$$

CREATE DEFINER=`root`@`%` PROCEDURE `showChildDept`(IN rootId INT)

BEGIN

CREATE TEMPORARY TABLE IF NOT EXISTS tmpLst

(sno INT PRIMARY KEY AUTO_INCREMENT,id INT,depth INT);

DELETE FROM tmpLst;

CALL createChildDept(rootId,0);

SELECT zk_departments.id,zk_departments.name FROM tmpLst,zk_departments WHERE tmpLst.id=zk_departments.id AND zk_departments.id>rootId ORDER BY tmpLst.sno;

#select zk_user_departments.dept_id,zk_user_departments.user_id from zk_user_departments left join tmpLst on tmpLst.id=zk_user_departments.dept_id and zk_user_departments.dept_id>rootId order by tmpLst.sno;

END$$

DELIMITER ;

第四步:CALL showChildDept(128)

logo.gif

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

将//单选题模拟数据 var ch = new Array(); //第一步:取出localstorage里面的单选题字符串str //第二步:用split方法切割str,用*号切割,切割后生成了一个字符串数组a //第三步:遍历数组a,将数组的每一个元素格式化成对象后放到ch里面 ch[0] = {     title: '花生播种前常要松土的主要原因是种子萌发需要(  )',     a: '充足的空气',     b: '适宜的温度',     c: '适量的水分',     d: '一定的光照',     answer: 'a',     score: 20 }; //p是卷子 var p = creaTest(); //组卷 function creaTest() {     var test = getProblem(ch,5);     return test; } //抽题 //list为题数组,num为要取出的题目的数量 // function getProblem(list,num) {     var pro = [];     var randomIndexe = [];     var index;     var i = 0;     do{         //         //         index = parseInt(list.length * Math.random());         //         //         if (randomIndexe.indexOf(index) === -1) {             randomIndexe.push(index);             pro.push(list[index]);             i++;         }     } while (i < num)     return pro; } //keys是答案数组 var keys = getKeys(); //创建答案数组 function getKeys() {     var array = new Array(p.length);//当前试卷的正确答案     for (var i = 0; i< p.length; i++) {         array[i] = p[i].answer;     }     return array; },的ch里面的单选题模拟数据换成从localstorage里面取出来的数据
最新发布
06-07
好的,为了将ChitGPT中的单选题模拟数据替换为从localstorage中获取的数据,您可以按照以下步骤进行操作: 1. 首先,您需要在本地存储中设置一个键值对,用于存储单选题的数据。例如,您可以将数据存储在名为“quiz_data”的键下。您可以使用以下代码将数据存储在本地存储中: ``` localStorage.setItem("quiz_data", JSON.stringify(your_quiz_data)); ``` 2. 然后,您需要在ChitGPT中的代码中获取本地存储中的数据。您可以使用以下代码获取本地存储中的数据: ``` const quiz_data = JSON.parse(localStorage.getItem("quiz_data")); const single_choice_data = quiz_data.single_choice_data; ``` 3. 接下来,您需要修改ChitGPT中的getProblem函数,以便使用从本地存储中获取的单选题数据。您可以使用以下代码替换原始的getProblem函数: ``` function getProblem(list,num) { var pro = []; var randomIndexe = []; var index; var i = 0; do{ index = parseInt(single_choice_data.length * Math.random()); if (randomIndexe.indexOf(index) === -1) { randomIndexe.push(index); pro.push(single_choice_data[index]); i++; } } while (i < num) return pro; } ``` 4. 最后,您需要调用creaTest函数以生成新的试卷。在调用creaTest函数之前,您需要确保已经从本地存储中获取了单选题数据并将其存储在single_choice_data变量中。例如,您可以使用以下代码生成新的试卷: ``` const p = creaTest(); const keys = getKeys(); //组卷 function creaTest() { const test = getProblem(single_choice_data, 5); return test; } //创建答案数组 function getKeys() { const array = new Array(p.length);//当前试卷的正确答案 for (let i = 0; i< p.length; i++) { array[i] = p[i].answer; } return array; } ``` 希望这些步骤能够帮助您将ChitGPT中的单选题模拟数据替换为从本地存储中获取的数据。如果您有任何其他问题,请随时联系我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值