DECLARE rs CURSOR FOR SELECT * from LQL170;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;我在存储过程中定义游标,一保存,就是 DECLARE rs CURSOR FOR SELECT * from LQL170;说附近有语法错误,刚需写的 请大神多多指教
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;我在存储过程中定义游标,一保存,就是 DECLARE rs CURSOR FOR SELECT * from LQL170;说附近有语法错误,刚需写的 请大神多多指教
解决方案 »
- 我向数据库中插入时间 2012-4-10 为什么到数据库里显示1982
- 请问大家如何规划mysql权限,是直接将root以及密码公布给开发人员,
- init_connect疑问
- Innodb存储过程表,insert 后 rollback无效?
- vc通过odbc连接mysql,能否多条sql语句同时执行?在线等答案,谢谢了
- 如何将access 导入 或批量导入 mysql 中!
- 请教:我刚开始接触mysql,我看初始情况下表user字段Host有值为"%",这代表什么意思
- 在W98的单机上怎么连接MySQL数据库呀?
- 求助一条sql语句(多字段求和后并排名)
- MySql中建表语句
- 论坛的帖子以什么样的方式存入数据库的?
- 帮忙看看这个mysql的删除语句,为什么老是提示语法错误
DECLARE sqlStr1 VARCHAR(2000);
DECLARE i INT(10) DEFAULT 0;
DECLARE k INT(10) DEFAULT 0;
DECLARE seltable VARCHAR(2000);
DECLARE _mon VARCHAR(20);
DECLARE _bh VARCHAR(20);
DECLARE _xm VARCHAR(100);
DECLARE _bm VARCHAR(20);
DECLARE _gw VARCHAR(20);
DECLARE _jj VARCHAR(20);
DROP TABLE IF EXISTS tab_Ltext; SET seltable='';
SET sqlStr1='';
SET @sqlStr1 = CONCAT('CREATE TABLE tab_Ltext(month1 VARCHAR(20), bh VARCHAR(10),xm VARCHAR(100),bm VARCHAR(20),gw VARCHAR(100),jj VARCHAR(10))');
PREPARE s FROM @sqlStr1;
EXECUTE s;
SELECT COUNT(*)INTO i from LQL170;
set @seltable = CONCAT('select',' SYBH,XM,BMBH,GW,SCQF,TSRQ from LQL170 ');
-- INSERT INTO tab_Ltext(month1,bh,xm,bm,gw,jj)VALUES('2012','','','','','');
PREPARE s1 from @seltable;
EXECUTE s1;
SELECT COUNT(*) INTO i from LQL170; DECLARE rs CURSOR FOR SELECT SYBH,XM,BMBH,GW from LQL170;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
OPEN rs;
REPEAT
FETCH NEXT FROM rs INTO _bh,_xm ,_bm,_gw ;
INSERT INTO tab_Ltext(month1,bh,xm,bm,gw,jj) VALUES ('2012/10',_bh,_xm,_bm,_gw,'1000');
SET i =i - 1;
UNTIL i =0 END REPEAT
CLOSE rs; SELECT * FROM tab_Ltext;
-- SELECT i ;
END这是完整的 帮忙看下到底哪错了!一保存就说DECLARE rs CURSOR FOR SELECT SYBH,XM,BMBH,GW from LQL170; 附近有语法错误~
CREATE PROCEDURE testa()
BEGIN
DECLARE sqlStr1 VARCHAR(2000);
DECLARE i INT(10) DEFAULT 0;
DECLARE k INT(10) DEFAULT 0;
DECLARE Done INT DEFAULT 0;
DECLARE seltable VARCHAR(2000);
DECLARE _mon VARCHAR(20);
DECLARE _bh VARCHAR(20);
DECLARE _xm VARCHAR(100);
DECLARE _bm VARCHAR(20);
DECLARE _gw VARCHAR(20);
DECLARE _jj VARCHAR(20);
DECLARE rs CURSOR FOR SELECT SYBH,XM,BMBH,GW FROM LQL170;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
DROP TABLE IF EXISTS tab_Ltext; SET seltable='';
SET sqlStr1='';
SET @sqlStr1 = CONCAT('CREATE TABLE tab_Ltext(month1 VARCHAR(20), bh VARCHAR(10),xm VARCHAR(100),bm VARCHAR(20),gw VARCHAR(100),jj VARCHAR(10))');
PREPARE s FROM @sqlStr1;
EXECUTE s;
SELECT COUNT(*)INTO i FROM LQL170;
SET @seltable = CONCAT('select',' SYBH,XM,BMBH,GW,SCQF,TSRQ from LQL170 ');
-- INSERT INTO tab_Ltext(month1,bh,xm,bm,gw,jj)VALUES('2012','','','','','');
PREPARE s1 FROM @seltable;
EXECUTE s1; SELECT COUNT(*) INTO i FROM LQL170;
OPEN rs;
REPEAT
FETCH NEXT FROM rs INTO _bh,_xm ,_bm,_gw ;
INSERT INTO tab_Ltext(month1,bh,xm,bm,gw,jj) VALUES ('2012/10',_bh,_xm,_bm,_gw,'1000'); SET i =i - 1;
UNTIL i =0 END REPEAT;
CLOSE rs; SELECT * FROM tab_Ltext;
-- SELECT i ;
END$$
DELIMITER ;