MySQL创建游标declare这么用为什么会出错?

图片说明

Error Code: 1064.
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE custcursor cursor for SELECT * FROM customers WHERE cust_email IS NULL' at line 1 0.000 sec

3个回答

em....你在curtcursor前面加个@试试

weixin_42501524
发个福福 create procedure sp_test012
一年多之前 回复
u011147718
吥吥车 回复weixin_42501524: 就这5行代码,我在学习中
一年多之前 回复
weixin_42501524
发个福福 回复u011147718: for 也去掉
一年多之前 回复
u011147718
吥吥车 回复weixin_42501524: 不是吧,我在存储过程里面declare a int 也能通过
一年多之前 回复
weixin_42501524
发个福福 回复u011147718: 完整的方便给出来吗
一年多之前 回复
weixin_42501524
发个福福 数据库脚本中,declare 变量定义,定义的变量需要以“@”符号开头。
一年多之前 回复
u011147718
吥吥车 也不行啊..
一年多之前 回复

create procedure sp_test012
as
begin
declare @custcursor cursor
select * from t
where sex is not NULL
end

weixin_42501524
发个福福 回复u011147718: 哦 哈哈哈 我错了 坐等大神 我看看
一年多之前 回复
weixin_42501524
发个福福 哦 哈哈哈 我错了 坐等大神 我看看
一年多之前 回复
u011147718
吥吥车 回复weixin_42501524: 我这个的问题是不是在于没有在procedure里面使用游标..因为我想单独弄个游标..
一年多之前 回复
weixin_42501524
发个福福 回复u011147718: 触发器也可以用啊
一年多之前 回复
u011147718
吥吥车 是不是游标只能在procedure里面使用..
一年多之前 回复
u011147718
吥吥车 这个也不行的,declare @变量会报错
一年多之前 回复

游标只能在存储过程里面使用吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL:请问游标的使用局限于存储过程吗?能否单独地使用游标。

有MySQL高手吗?想请教一个关于游标的问题。 请问游标的使用局限于存储过程吗?能否单独地使用游标? 比如在命令行中直接使用类似语句: ```mysql DECLARE ordernumbers CURSOR FOR SELECT order_num FROM orders; ``` 事实上我在mysql(5.7.12)版本 ubuntu(18.04)的 mysql 命令行环境下进行过测试 ,上述语句会报语法错误。但是,我查的资料上都没有明确说明游标不能直接使用,所以 想问下有没有知道的大佬能够解答一下,感谢!

关于mysql存储过程游标只循环一次

DELIMITER $$ CREATE PROCEDURE `comment_count_sp` () BEGIN -- 需要定义接收游标数据的变量 DECLARE news_id_bak INT(11); DECLARE news_count INT(11); DECLARE count_all INT(11) DEFAULT 0; -- 遍历数据结束标志 DECLARE done INT DEFAULT FALSE; -- 游标 DECLARE cur CURSOR FOR ( SELECT news_info_id news_id_bak,COUNT(news_info_id) news_count FROM t_news_comment WHERE STATUS = 1 GROUP BY news_id_bak ORDER BY news_count ASC ); -- 将结束标志绑定到游标 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; SET done = FALSE; -- 打开游标 OPEN cur; -- 开始循环 read_loop: LOOP FETCH cur INTO news_id_bak,news_count; IF done THEN LEAVE read_loop; END IF; SET count_all = count_all + 1; END LOOP; SELECT count_all; -- 关闭游标 CLOSE cur; END 这个存储过程为什么count_all总是1,快崩溃了

关于mysql5.6存储与游标的问题

如下是我的过程,不解的是当我把从游标里的任何一列当做判断结束游标条件时,无论何时它都为空,但它确确实实可以循环完,百思不得其解。 例如 WHILE ( TYPE IS NOT NULL ) 。 这里的type永远都为空。 再如果我将任意一列 , event_value 当做while 条件 event_value 同样为空。 在此跪求大鸟解答了。 DELIMITER $$ CREATE PROCEDURE test( IN event_value_name VARCHAR(20) , IN datestr VARCHAR(20) , IN start_date DATETIME , IN end_date DATETIME ) BEGIN DECLARE temp VARCHAR(10) DEFAULT ""; DECLARE temps VARCHAR(200) DEFAULT ""; DECLARE report_tim VARCHAR(100) DEFAULT ""; DECLARE TYPE VARCHAR(50); DECLARE event_value VARCHAR(50); DECLARE source VARCHAR(50); DECLARE event_name VARCHAR(50); DECLARE COT VARCHAR(50); DECLARE allrow CURSOR FOR SELECT tev.event_value,tev.source,tev.event_name,COUNT(*) AS COT,tev.type,DATE_FORMAT(tev.report_time,'%Y-%m-%d') report_tim FROM ts_event_value tev WHERE tev.name=event_value_name AND tev.report_time BETWEEN start_date AND end_date GROUP BY tev.event_value,tev.source,tev.event_name,tev.type,report_tim ORDER BY COT DESC LIMIT 15 ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET TYPE = NULL; OPEN allrow; /*allrowloop:LOOP*/ FETCH allrow INTO event_value,source,event_name,COT,TYPE,report_tim; IF datestr = "all" THEN WHILE ( TYPE IS NOT NULL ) DO SELECT s.name INTO temp FROM statistical s WHERE s.name = event_value_name AND s.source = source AND s.event_name = event_name AND s.event_value = event_value AND s.zt = "all"; IF temp = "" OR temp IS NULL THEN INSERT INTO statistical VALUES (source,event_name,event_value,COT,event_value_name,report_tim,"all"); ELSE UPDATE statistical s SET s.cot = s.cot + COT WHERE s.name = event_value_name AND s.source = source AND s.event_name = event_name AND s.event_value = event_value AND s.zt = "all"; END IF; FETCH allrow INTO event_value,source,event_name,COT,TYPE,report_tim; END WHILE; END IF; COMMIT; SELECT event_value,source,event_name,COT,temp; /*SELECT temps;*/ /*END LOOP allrowloop;*/ CLOSE allrow; END; $$ DELIMITER ;

mysql 游标问题(结果集)

mysql: declare cur cursor for select * from 表名; open cur; Loop1:loop; .... fetch cur into 变量 ... update 表2 set id =变量.id,name=变量.name..... 有这样的变量吗 ,没有 我该怎么实现 把查询出来的对象 赋值给一个变量, 求大神指导!!!!!!!!!!!

mysql事务回滚问题,嵌套游标,游标里面的可以回滚,外面的回滚不了

SET AUTOCOMMIT=0; BEGIN DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET P_ERRCODE='0000'; #START TRANSACTION; UPDATE P010 SET P01031 = 2 WHERE P01031 <> 1 AND P01004 >= vMINDAT AND P01004 < vMAXDAT AND P01002 <> '6' AND S02002=P_DS02002; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; SET P_ERRCODE='000001'; LEAVE VLD; END; END IF; SELECT COUNT(1) INTO vCNT FROM P010 WHERE P01031 = 2 AND (P01002 = '4' OR P01002 = '5') AND S02002=P_DS02002; IF vCNT>0 THEN BEGIN INSERT INTO BASFG (DOCNO,UID,RECDAT) SELECT vDNO,P01001,NOW() FROM P010 WHERE P01031 = 2 AND (P01002 = '4' OR P01002 = '5') AND S02002=P_DS02002; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; SET P_ERRCODE='000002'; LEAVE VLD; END; END IF; END; END IF; #在审核交易流水时,发现有没有对应仓库或者门店编号的收款机. SELECT COUNT(1) INTO vCNT FROM ( SELECT DISTINCT P01005 FROM P010 A, BASFG B WHERE A.P01001 = B.UID AND B.DOCNO=vDNO ) A LEFT OUTER JOIN ( SELECT P01005,B06001,S02002 FROM P020 WHERE S02002=P_DS02002 ) B ON A.P01005 = B.P01005 WHERE (B06001 IS NULL OR S02002 IS NULL); IF vCNT>0 THEN BEGIN SET P_ERRCODE='0120'; ROLLBACK; LEAVE VLD; END; END IF; SET vD30002 = GETD300(12 * 1000000); INSERT INTO FP020 (DOCNO ,P01005, S020012, B06001) SELECT vDNO AS DOCNO , A.P01005 AS P01005, C.S02001 AS S020012, B.B06001 AS B06001 FROM (SELECT A.P01005 AS P01005 FROM P010 A, BASFG B WHERE A.P01001 = B.UID AND B.DOCNO = vDNO GROUP BY A.P01005 ) A, P020 B, S020 C WHERE A.P01005 = B.P01005 AND B.S02002 = C.S02002 AND B.S02002 = P_DS02002; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; SET P_ERRCODE='000003'; LEAVE VLD; END; END IF; INSERT INTO FD121 (DOCNO, P01004, S020012, S02001, B06001, B03001, P01104, P01106, D12112, D12113, D12114) SELECT vDNO AS DOCNO, STR_TO_DATE(B.P01004,'%Y%m%d') AS P01004, C.S02001 AS S020012, MIN(CASE WHEN C.S02021 = 1 THEN B.S02001 WHEN C.S02021 =2 THEN C.S02001 END) AS S02001, A.B06001, B.B03001, SUM(B.P01104) AS P01104, SUM(B.P01106) AS P01106, SUM(B.D12112) AS D12112, B.D12113, B.D12114 FROM P020 A, (SELECT DATE_FORMAT(A.P01004,'%Y%m%d') AS P01004, A.P01005, D.S02001, B.B03001, SUM(B.P01104) AS P01104, SUM(B.P01105) AS P01106, -(SUM(IFNULL(B.P01107,0) + IFNULL(B.P01108,0) + IFNULL(B.P01109,0) + IFNULL(B.P01110,0) + IFNULL(B.P01114,0) + IFNULL(B.P01115,0))) AS D12112, CASE WHEN A.P01021 <> '' THEN 1 ELSE 0 END AS D12113, CASE WHEN B.P01111 > 0 THEN 1 ELSE 0 END AS D12114 FROM P010 A, P011 B, BASFG C, B030 D WHERE A.P01001 = B.P01001 AND A.P01001=C.UID AND C.DOCNO=vDNO AND B.B03001 = D.B03001 AND (A.P01002 = '4' OR A.P01002 = '5') AND B.P01102 = 0 GROUP BY DATE_FORMAT(A.P01004,'%Y%m%d'), A.P01005, D.S02001,B.B03001, (CASE WHEN A.P01021 <> '' THEN 1 ELSE 0 END), (CASE WHEN B.P01111 > 0 THEN 1 ELSE 0 END) )B, S020 C WHERE A.P01005 = B.P01005 AND A.S02002 = C.S02002 AND A.S02002 = P_DS02002 AND C.S02004 <> 5 GROUP BY B.P01004,C.S02001,A.B06001,B.B03001,B.D12113,B.D12114; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; SET P_ERRCODE='000004'; LEAVE VLD; END; END IF; #销售数据中存在没有建立合同的商品信息,审核失败 SELECT COUNT(1) INTO vCNT FROM FD121 A,B036 B LEFT OUTER JOIN B050 C ON B.B040011 = C.B04001 AND B.B050011 = C.B05001 WHERE A.B03001 = B.B03001 AND B.S02001=vDS02001 AND A.DOCNO= vDNO AND C.B05001 IS NULL; IF vCNT>0 THEN BEGIN SET P_ERRCODE='0121'; ROLLBACK; LEAVE VLD; END; END IF; BEGIN DECLARE C_01 CURSOR FOR SELECT P01004,S020012,S02001,B06001,D12113,D12114 FROM FD121 WHERE DOCNO = vDNO GROUP BY P01004,S020012,S02001,B06001,D12113,D12114 ORDER BY P01004; DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDONE=1; OPEN C_01; M1:LOOP FETCH C_01 INTO vNP01004, vS020012, vS02001, vB06001,vD12113,vD12114; IF vDONE=1 THEN LEAVE M1; END IF; CALL GETDOCNO(vDS02001,12,vD12001); IF P_ERRCODE='0000' THEN BEGIN #LEAVE M1; CLOSE C_01; ROLLBACK; SET P_ERRCODE='000005'; LEAVE VLD; END; END IF; SELECT S02002 INTO vS02002 FROM S020 WHERE S02001 = vS020012; INSERT INTO D120(D12001, D12002, D12004, D12005, D12006, D12007, D12009, D12010, D12011, S02001, B06001, S020011, S020012, S010011) VALUES (vD12001, 1, 0, 0, vNP01004, vNP01004, 0, 0, '系统产生', vS02001, vB06001, vS020012, vS020012, P_S01001); IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; CLOSE C_01; SET P_ERRCODE='000009'; LEAVE VLD; END; END IF; INSERT INTO D121(B03007, D12103, D12104, D12105, B03105, B03102, D12106, D12107, B03109, D12111, D12001, B03001, B031021, D12113, D12114, E00001) SELECT B.B03007, 0, A.P01104 AS D12104, A.P01104 AS D12105, C.B03105, CASE WHEN A.P01104 = 0 THEN 0 ELSE CONVERT((A.P01106 - A.D12112)/A.P01104,DECIMAL(8,2)) END AS B03102, CONVERT(A.P01104 * C.B03105,DECIMAL(9,2)), A.P01106 - A.D12112, C.B03109, A.P01106, vD12001, A.B03001, CASE WHEN A.P01104 = 0 THEN 0 ELSE CONVERT(A.P01106/A.P01104,DECIMAL(8,2)) END AS B031021, vD12113, vD12114, CONCAT(GetB03301(A.B03001),'=',LTRIM(RTRIM(CONVERT(A.P01104,CHAR(20)))),';') AS E00001 FROM FD121 A, B030 B, B036 C WHERE C.B03001 = B.B03001 AND A.DOCNO = vDNO AND B.B03001 = A.B03001 AND C.S02001 = vS020012 AND A.P01004 = vNP01004 AND A.S020012 = vS020012 AND A.S02001 = vS02001 AND A.B06001 = vB06001 AND A.D12113 = vD12113 AND A.D12114 = vD12114 ; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; CLOSE C_01; SET P_ERRCODE='000010'; LEAVE VLD; END; END IF; SELECT 'AAAAA',vD12001; SET P_RET=0,P_ERRCODE=''; -- CALL VALIDD120(vD12001,P_S01001,P_RET,P_ERRCODE,vPLU); IF (P_RET=0) OR (P_ERRCODE='0000') THEN BEGIN ROLLBACK; CLOSE C_01; LEAVE VLD; END; END IF; END LOOP M1; CLOSE C_01; END; #将获取单据的审核序列号 SET vP01033=CONCAT(DATE_FORMAT(NOW(),'%Y%m%d%H%i%S'),P_DS02002); UPDATE P010 SET P01031 = 1, P01033 = vP01033 WHERE P01031 = 2 AND S02002=P_DS02002; IF P_ERRCODE='0000' THEN BEGIN ROLLBACK; SET P_ERRCODE='0000'; LEAVE VLD; END; END IF; END; COMMIT; 这是我存储过程的片段,里面是一个事务处理,在'AAAAA'下面让事务进行回滚,游标里数据回滚了,而游标外面的数据没有回滚,想问一下这是怎么回事,另外如果游标里面嵌套执行过程该怎么办谢谢大家

MySQL的存储过程declare语句报错

``` CREATE PROCEDURE curdemo() begin declare var_id varchar(32); declare var_number varchar(32); DECLARE var_model VARCHAR(32); declare rs cursor for select id,number from t_device_lending; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1; open rs; fetch next from rs into var_id,var_number; REPEAT IF NOT Done THEN select model_number into var_model from t_device_info where number = var_number; update t_device_lending_copy set model_number = var_model where id = var_id; END IF; FETCH NEXT FROM rs INTO id,number; UNTIL Done END REPEAT; /* 关闭游标 */ CLOSE rs; end ``` 报的错是“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'declare var_id varchar(32)' at line 3” 我对了一下5.7.10的官方手册。declare的语法应该是正确的,怎么会报这种错?求大神解释。

mysql存储过程游标遍历表数据报错,1328 Incorrect number of FETCH variables

下面是整个存储过程,我自己查了数量一致类型一致,就是不知道它为什么报这个错误,还是说我写的这个游标有问题? ``` DELIMITER $$ DROP PROCEDURE IF EXISTS `PRODUCTINVENTORY_SYNC` $$ CREATE PROCEDURE PRODUCTINVENTORY_SYNC() BEGIN DECLARE tmpId INT(11); DECLARE storeCode VARCHAR(50); -- 仓库编码 DECLARE storeName VARCHAR(80); -- 仓库名称 DECLARE productCode VARCHAR(60); -- 商品编码 DECLARE productSubno VARCHAR(40); -- 商品条码 DECLARE productName VARCHAR(80); -- 商品名称 DECLARE supplierCode VARCHAR(60); -- 供应商编码 DECLARE supplierName VARCHAR(80); -- 供应商名称 DECLARE productTypeCode VARCHAR(40); -- 商品类型编码 DECLARE productTypeName VARCHAR(80); -- 商品类型名称 DECLARE productBrandCode VARCHAR(60); -- 商品品牌编码 DECLARE productBrandName VARCHAR(80); -- 商品品牌名称 DECLARE purchasePrice DECIMAL(10,2); -- 进货价 DECLARE retailPrice DECIMAL(10,2); -- 零售价 DECLARE memberPrice DECIMAL(10,2); -- 会员价 DECLARE productStock INT(11); -- 商品库存 DECLARE c_count INT; -- 遍历数据结束标志 DECLARE done INT DEFAULT FALSE; -- 设置游标 DECLARE cur_productInventorys CURSOR FOR SELECT tmp_id store_code, store_name, product_code, product_subno, product_name, supplier_code, supplier_name, product_type_code, product_type_name, product_brand_code, product_brand_name, purchase_price, retail_price, member_price, product_stock FROM product_inventory_tmp_t t WHERE t.processingStatus = 2; -- 将结束标志绑定到游标 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; DELETE it FROM product_inventory_t it WHERE NOT EXISTS (SELECT 1 FROM product_inventory_tmp_t pt WHERE it.product_code = pt.product_code AND it.product_subno = pt.product_subno and it.store_code = pt.store_code AND pt.processingStatus = 2); -- 打开游标 OPEN cur_productInventorys; -- 遍历 read_loop: LOOP -- 设置给对应字段 FETCH cur_productInventorys INTO tmpId,storeCode,storeName,productCode,productSubno,productName,supplierCode,supplierName,productTypeCode,productTypeName,productBrandCode,productBrandName,purchasePrice,retailPrice,memberPrice,productStock; IF done THEN -- 判断是否继续循环 LEAVE read_loop; -- 结束循环 END IF; SELECT count(1) INTO c_count FROM product_inventory_t pit WHERE pit.product_code = productCode AND pit.product_subno = productSubno AND pit.store_code = storeCode; IF c_count = 0 THEN INSERT INTO product_inventory_t ( `store_code`, `store_name`, `product_code`, `product_subno`, `product_name`, `supplier_code`, `supplier_name`, `product_type_code`, `product_type_name`, `product_brand_code`, `product_brand_name`, `purchase_price`, `retail_price`, `member_price`, `product_stock`, `create_time`, `update_time` ) VALUES ( storeCode, storeName, productCode, productSubno, productName, supplierCode, supplierName, productTypeCode, productTypeName, productBrandCode, productBrandName, purchasePrice, retailPrice, memberPrice, productStock, `new()`, `new()`); ELSE UPDATE product_inventory_t SET `store_code`= storeCode, `store_name` = storeName, `product_code` = productCode, `product_subno` = productSubno, `product_name` = productName, `supplier_code` = supplierCode, `supplier_name` = supplierName, `product_type_code` = productTypeCode, `product_type_name` = productTypeName, `product_brand_code` = productBrandCode, `product_brand_name` = productBrandName, `purchase_price` = purchasePrice, `retail_price` = retailPrice, `member_price` = memberPrice, `product_stock` = productStock, `update_time` = now() WHERE product_code = productCode AND product_subno = productSubno AND store_code = storeCode; END IF; UPDATE product_inventory_tmp_t SET `processingStatus` = 4 where tmp_id = tmpId; END LOOP read_loop; -- 关闭游标 CLOSE cur_productInventorys; DELETE FROM product_inventory_tmp_t WHERE `processingStatus` = 4; END $$ DELIMITER ```

MYSQL游标REPEAT循环后,无法得到字符串返回值。望指教,谢谢!

我有一个数据表zq +-------+--------+--------------+---------+---------+--------+---------+ | zq_id | zq_dm | zq_mc | zqlx_id | fllx_id | jys_id | zq_cxhq | +-------+--------+--------------+---------+---------+--------+---------+ | 1 | 000001 | 平安银行 | 4 | 9 | 1 | 1 | | 2 | 113001 | 中行转债 | 4 | 9 | 1 | 1 | | 3 | 113005 | 平安转债 | 4 | 9 | 1 | 1 | | 4 | 131800 | R-003 | 3 | 5 | 2 | 0 | | 5 | 131801 | R-007 | 3 | 7 | 2 | 0 | | 6 | 131802 | R-014 | 3 | 8 | 2 | 0 | | 7 | 131809 | R-004 | 3 | 6 | 2 | 0 | | 8 | 131810 | R-001 | 3 | 3 | 2 | 1 | | 9 | 131811 | R-002 | 3 | 4 | 2 | 0 | | 10 | 150124 | 建信50B | 5 | 10 | 2 | 0 | | 11 | 510300 | 300ETF | 2 | 2 | 1 | 0 | | 12 | 600893 | 航空动力 | 1 | 1 | 1 | 0 | | 13 | 601318 | 中国平安 | 1 | 1 | 1 | 1 | | 14 | 601872 | 招商轮船 | 1 | 1 | 1 | 1 | +-------+--------+--------------+---------+---------+--------+---------+ 还有一个数据表jys +--------+--------+-----------------------+ | jys_id | jys_dm | jys_mc | +--------+--------+-----------------------+ | 1 | SH | 上海证券交易所 | | 2 | SZ | 深圳证券交易所 | +--------+--------+-----------------------+ 我想将表zq中字段zq_cxhq为1的记录的zq_dm字段和对应的jys_dm提取出来组成字符串,所期望的结果应该是得到字符串"SH000001,SH113001,SH113005,SZ131810,SH601318,SH601872,"。 我的方法是: CREATE DEFINER=`root`@`localhost` PROCEDURE `routine_Sshq`( OUT jyszqdm VARCHAR(100) ) BEGIN DECLARE zqdm VARCHAR(45); DECLARE jysdm VARCHAR(45); DECLARE jyszq VARCHAR(100); DECLARE done TINYINT(1) DEFAULT 0; DECLARE cur_zqhq CURSOR FOR SELECT zq_dm, jys_dm FROM zq LEFT JOIN jys ON jys.jys_id = zq.jys_id WHERE zq_cxhq = 1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; OPEN cur_zqhq; REPEAT FETCH cur_zqhq INTO zqdm, jysdm; IF done = 0 THEN SET jyszq = CONCAT(jyszq, jysdm, zqdm, ','); END IF; UNTIL done = 1 END REPEAT; SET jyszqdm = jyszq; END 在DELPHI XE2中,我将这个存储过程的返回值,赋值给Edit控件,但始终无法成功。 我将这个存储过程的最后一行改为: SET jyszqdm = 'abc'; 同样无法成功。 我怀疑是不是前面那个REPEAT循环没有结束?但又找不到原因。 本人是自学菜鸟,期望哪位前辈高手指教。万分感谢。

MySQL打开游标导致错误“POST myphp.php net :: ERR_CONNECTION_RESET”

<div class="post-text" itemprop="text"> <p>I have a stored procedure in MySQL that is run from a PHP file. All is well so long as I comment out all cursor handling in the stored procedure (apart from the declarations).</p> <p>If, however I leave so much as <code>open myCursor;</code> running (with or without <code>close myCursor;</code>) I get the error 'POST myphp.php net::ERR_CONNECTION_RESET'.</p> <p>The definition of the cursor makes no difference. I've tried changing the cursor's select to something really simple that definitely runs.</p> <p>Despite the error the processing done using the cursor works and the stored procedure continues logging its progress right to the end. It's only when it gets back to the PHP that it all falls to pieces for no apparent reason.</p> <p>The only possibility that I can see is that the cursor corrupts the results, maybe by producing some warning message, but if so I don't know which message or how to deal with it and there's no obvious reason for an error message, particularly as I don't have to run so much as a single <code>Fetch</code> on a cursor to produce the problem.</p> <p>Here's how the stored procedure is run:</p> <pre><code>if ($stmt2 = mysqli_prepare($con, "call mySP(?)")) {#Store statement mysqli_stmt_bind_param($stmt2, 's', $par); mysqli_stmt_execute($stmt2); $result = mysqli_stmt_get_result($stmt2); </code></pre> <p><code>mysqli_stmt_execute($stmt2);</code> is the last line that I can say for sure runs. Nothing in the rest of the PHP runs after <code>$result = mysqli_stmt_get_result($stmt2);</code>.</p> <p>Note that if after <code>mysqli_stmt_execute($stmt2);</code> I output <code>mysqli_stmt_errno($stmt2).','.mysqli_stmt_error($stmt2)</code> I get '0,' so it looks like there's no error being thrown by <code>mysqli_stmt_execute($stmt2);</code></p> <p>For completeness here's an excerpt from the javascript that's used to call the PHP:</p> <pre><code>$.ajax({ type : "POST", url : "./php/myphp.php", cache : false, data : { sheet : JSON.stringify(userJson) }, datatype : "json" }).done(function(result) { </code></pre> <p>Please help as I'm tearing my hair out over this and I can find no way to debug it or work around it.</p> </div>

mysql 存储过程中使用了游标和临时表,返回的临时表数据不准确

DELIMITER $$ USE `laolao`$$ DROP PROCEDURE IF EXISTS `parent_sport_sort1`$$ CREATE DEFINER=`root`@`%` PROCEDURE `parent_sport_sort1`(IN jidb VARCHAR(64),IN uname VARCHAR(64),IN starttime VARCHAR(64),IN endtime VARCHAR(64), IN startmonth VARCHAR(64),IN endmonth VARCHAR(64),IN startday VARCHAR(64), OUT totala INT,OUT ranking INT,OUT totalamonth INT,OUT rankmonth INT,OUT totaladay INT,OUT rankday INT,OUT usname VARCHAR(64)) BEGIN DECLARE usname VARCHAR(64); DECLARE done INT DEFAULT FALSE; 创建游标 DECLARE cur_usname CURSOR FOR SELECT parentname FROM user_chilld WHERE childname=uname; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; 创建临时表 CREATE TEMPORARY TABLE IF NOT EXISTS tmp_sportdata( totala INT(11), ranking INT(11), totalamonth INT(11), rankmonth INT(11), totaladay INT(11), rankday INT(11), usname VARCHAR(64) ); OPEN cur_usname; read_loop: LOOP FETCH cur_usname INTO usname; IF done THEN LEAVE read_loop; END IF; SET @mytemp = 0; SELECT newid,stotal,usname INTO ranking,totala,usname FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN starttime AND endtime )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; SET @mytemp = 0; SELECT newid,stotal INTO rankmonth,totalamonth FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN startmonth AND endmonth )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; SET @mytemp = 0; SELECT newid,stotal INTO rankday,totaladay FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN startday AND startday )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; INSERT INTO tmp_sportdata VALUES(totala,ranking,totalamonth,rankmonth,totaladay,rankday,usname); END LOOP; CLOSE cur_usname; SELECT * FROM tmp_sportdata; DROP TABLE IF EXISTS tmp_sportdata; END$$ DELIMITER ; 需求是这样的 一个儿女账号,绑定多个老人账号,然后一个儿女要查出绑定所有老人的每月的运动数据,每天的运动数据,当天的运动数据。其中运动数据中包括老人在好友中的排名,和运动步数 现在上面的存储过程基本上已经完成了这个功能,但是出现了bug,就是如果儿女绑定了两个老人,其中一个老人在今天没数据,另一个老人有数据的话,这个存储过程执行之后返回只有1条数据,如果两个老人在今天都有数据,就显示正常

sql使用游标插入数据 为什么出现死循环?

create table stu ( id int, names varchar(120) ) insert into stu(id,names) values (1,'wdl') insert into stu(id,names) values (2,'cyc') insert into stu(id,names) values (3,'zyz') declare @id int declare @names nvarchar(200) declare myCursor cursor for select id,names from stu open myCursor fetch next from myCursor into @id,@names while @@FETCH_STATUS=0 begin insert into dbo.stu values(@id+3,@names) fetch next from myCursor into @id,@names end close myCursor deallocate myCursor select * from stu ``` ```

oracle事务commit之后游标是否会自动关掉呢?

看了公司前辈的代码,declare一个游标,分批次commit,然后关掉循环,commit,直接end了,忘了关游标,结果安全走完了没报错,放在工程里也安全走下来了没报错。我自己写的是在打开游标之前先判断游标是否开着,如果开着就先关闭再打开,其余的步骤同上,结果也是没报错。这是为什么呢?commit后就不需要手动关闭游标吗?

数据库中释放游标与关闭游标

1. 在不同数据库中会用到游标,有的写法中直接到“关闭游标”就结束了,有的需要“释放游标”,请问大神们在什么情况下需要释放游标,请结合具体的oracle、mysql和sql server数据库进行详细介绍一下。 2. 可以提供一下在不同数据库中具体使用的例子 。

mysql 存储过程中游标临时表问题

DELIMITER $$ USE `laolao`$$ DROP PROCEDURE IF EXISTS `parent_sport_sort1`$$ CREATE DEFINER=`root`@`%` PROCEDURE `parent_sport_sort1`(IN jidb VARCHAR(64),IN uname VARCHAR(64),IN starttime VARCHAR(64),IN endtime VARCHAR(64), IN startmonth VARCHAR(64),IN endmonth VARCHAR(64),IN startday VARCHAR(64), OUT totala INT,OUT ranking INT,OUT totalamonth INT,OUT rankmonth INT,OUT totaladay INT,OUT rankday INT) BEGIN DECLARE usname VARCHAR(64); DECLARE done INT DEFAULT FALSE; DECLARE cur_usname CURSOR FOR SELECT parentname FROM user_chilld WHERE childname=uname; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur_usname; read_loop: LOOP FETCH cur_usname INTO usname; IF done THEN LEAVE read_loop; END IF; SET @mytemp = 0; SELECT newid,stotal INTO ranking,totala FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN starttime AND endtime )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; SET @mytemp = 0; SELECT newid,stotal INTO rankmonth,totalamonth FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN startmonth AND endmonth )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; SET @mytemp = 0; SELECT newid,stotal INTO rankday,totaladay FROM( SELECT (@mytemp:=@mytemp+1) AS newid,stotal,username FROM ( SELECT SUM(total) stotal, username FROM exercise WHERE ( username IN( SELECT username FROM ofRoster WHERE jid=CONCAT(usname,jidb) OR username =usname) AND createtime BETWEEN startday AND startday )GROUP BY username ORDER BY stotal DESC )a ) a1 WHERE username=usname; END LOOP; CLOSE cur_usname; END$$ DELIMITER ; 现在的这个存储过程,只能根据游标最后一条数据,返回一行, 我现在需要的是DECLARE cur_usname CURSOR FOR SELECT parentname FROM user_chilld WHERE childname=uname; 这个游标返回的是多个,根据返回的多个参数来当做下面那三条主SQL 的条件。 我想的是需要建个临时表,游标等于1的时候返回1条数据存到临时表然后游标等于2的时候在返回一条也存到临时表游标等于3的时候返回一条存到临时表, 现在就是不知道这种情况临时表该怎么用。 困扰了两天了,求大神们狠狠的教育

关于mysql中游标与oracle中游标的使用方式

``` declare ICOUNT1 int(8); declare M_SQL varchar(3000); declare M_CURSOR cursor for M_sql; set M_SQL = concat('INSERT INTO T_LIST_JNKTCSQD (LOGIN_ID,LOCAL_NET_NAME, AREA_NAME, EXCH_NAME, WORK_AREA_NAME, CO_NBR,。。。。 set M_CURSOR = open M_CURSOR; DBMS_SQL.PARSE(M_CURSOR, M_SQL, DBMS_SQL.V7); set ICOUNT1 = DBMS_SQL.EXECUTE(M_CURSOR); DBMS_SQL.CLOSE_CURSOR(M_CURSOR); ``` 如上:这是一段从oracle中复制下来的存储,目前需要在mysql中运行,需要哪些地方改正,并请解释!

存储过程创建临时表(表名是动态的),游标中使用了这一个临时表

ALTER PROCEDURE [dbo].[P_GetBusLocation] @Date1 datetime AS BEGIN SET NOCOUNT ON; declare @VehicleNo nvarchar(50),@VGroupID int,@RouteNumber varchar(200),@TableName varchar(50),@VehicleID bigint , @OldVehicleID bigint,@SqlStr1 varchar(1024),@SqlStr2 varchar(1024),@TemTableName varchar(50),@SqlStr3 varchar(1024) set @TableName = 'gps005' + CONVERT(varchar(20), @Date1, 112) set @TemTableName = '#Tem' + @TableName set @SqlStr1 = 'create Table ' + @TemTableName+'(GpsDateTime datetime,VehicleID bigint,VehicleNo nvarchar(50),RouteNumber varchar(200),Flag tinyint ,Longitude decimal(9,6),Latitude decimal(8,6),Speed decimal(4,1),Direction smallint,Mileage bigint ,Position varchar(200),AvgSpeed decimal(4,1),StorageTime datetime)' exec(@SqlStr1) set @SqlStr2 = 'insert into '+@TemTableName+' select t1.GpsDateTime,t1.VehicleID,null,null,t1.Flag ,t1.Longitude,t1.Latitude,t1.Speed,t1.Direction,t1.Mileage,t1.Position,t1.AvgSpeed,t1.StorageTime from '+@TableName +' as t1' exec(@SqlStr2) set @OldVehicleID = 0 set @SqlStr3 = 'declare myCursor cursor FORWARD_ONLY STATIC for select VehicleID from '+@TemTableName exec(@SqlStr3) open myCursor fetch next from myCursor into @VehicleID while(@@FETCH_STATUS = 0) begin if(@VehicleID != @OldVehicleID) begin select @VGroupID = VGroupID,@VehicleNo = VehicleLic from VehicleInfo where VehicleID = @VehicleID select @RouteNumber = RouteNumber FROM RouteInfo where VGroupID = @VGroupID exec('update '+@TemTableName+' set VehicleNo = '+@VehicleNo+',RouteNumber = '+@RouteNumber+' where VehicleID = '+@VehicleID) set @OldVehicleID = @VehicleID end fetch next from myCursor into @VehicleID end exec('select * from '+ @TemTableName) close myCursor deallocate myCursor END 入参是:2013-8-8 下面是报错: 消息 208,级别 16,状态 0,第 1 行 对象名 '#Temgps00520130808' 无效。 消息 208,级别 16,状态 0,第 1 行 对象名 '#Temgps00520130808' 无效。 消息 16916,级别 16,状态 1,过程 P_GetBusLocation,第 35 行 名为 'myCursor' 的游标不存在。 消息 16916,级别 16,状态 1,过程 P_GetBusLocation,第 38 行 名为 'myCursor' 的游标不存在。 消息 28102,级别 16,状态 1,过程 P_GetBusLocation,第 39 行 批处理执行由于调试器请求而终止。

数据库分页和游标分页性能比较

我一直用的游标分页,也没遇到什么性能问题,就是下边这种: try{ List<T> list=new ArrayList<T>(); if(page != null) { if (rs.last())page.setTotalRow(rs.getRow()); //rs.beforeFirst(); rs.absolute(page.getFirstRow()); } T obj; for(int i=1 ; (page == null || i <= page.getPageSize()) && rs.next() ; i++) { obj=mapper.mapRow(rs, i); if(obj!=null)list.add(obj); } return list; }finally{ JdbcUtils.closeResultSet(rs); } ``` ``` 还有一种就是数据库分页,用row_number之类的,我的问题是,到底是在程序里用游标分页性能好呢还是数据库分页性能好?

mysq 游标哪里错了?感觉没错

delimiter $ create function youbiao() begin declare a varchar(20); declare flag int default false; declare d int; # 声明一个游标 declare mycursor cursor for select age,dogname from dog;# 游标一定要在变量后申明 # 声明一个游标的终止条件 declare continue handler for not found set flag=true; # set flag是一个变量用作判断 open mycursor; #打开mycursor这个游标 while !flag do fetch mycursor into d,a ; select d,a; end while; close mycursor; end $ delimiter ; You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin

MySQL Cursor在select语句中带有变量

<div class="post-text" itemprop="text"> <p>I've the following code in a stored procedure: </p><pre><code> <pre><code>DECLARE done INT DEFAULT FALSE; declare v_degree int(11); declare v_start_age smallint(6); declare v_end_age smallint(6); declare v_gender varchar(20); declare v_calctable varchar(200); SELECT calculationtable into v_calctable FROM wac.degrees where tablename = concat("cdb_" + arg_tablename); declare cur CURSOR for select degree, start_age, end_age, belt, gender from v_calctable; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; </code></pre> <p></p></code></pre> Like this I'll get a syntax error in the line "SELECT calculationtable into v_calctable FROM wac.degrees where tablename = concat("cdb_" + arg_tablename);" <p>If I put it after the "Declare cursor" there's no syntax error, but I need the result to be used on de Cursor select statement.</p> <p>How can I accomplish this?</p> <p>Thanks.</p> </div>

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

数据库——玩转SQL语句(以MySQL为例)

一、前言 照着大学的SQL server来学

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《C语言函数速查》main()主函数

每一个C程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

立即提问
相关内容推荐