`
mhtbbx
  • 浏览: 36393 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于no data - zero rows fetched,selected,or processed

阅读更多
。。。mysql给我的郁闷,也不是一次二次了,但我还是不习惯,继续吐血。
出现这个问题是在写一个存储过程中,用到游标时出现的,在网上查,说是mysql的一个bug( - -!这


都可以 )
找了一个多小时,最后终于找到解决的方案,就是在定义游标的下面,加上这句
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET P_ID = NULL;


存储过程如下
CREATE DEFINER = 'root'@'%'
PROCEDURE etm_one.P_ManagerWorkInfo(IN P_StartDate VARCHAR(255),
                                    IN P_EndDate   VARCHAR(255)
                                    )
BEGIN
 
  DECLARE P_ID                                         INT;
  DECLARE P_ParamName                                  VARCHAR(50);
  DECLARE P_strSql1, P_strSql2, P_strSql, P_strSql3    TEXT;
 
  DECLARE curs CURSOR FOR
  SELECT id
       , paramname
  FROM
    K_SystemParam
  WHERE
    parentID = 26;


  -- 解决mysql Bug:no data - zero rows fetched,selected,or processed
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET P_ID = NULL;


  IF (ifnull(P_StartDate, '') = '') THEN
    SET P_StartDate = '1900-01-01';
  END IF;
  IF (ifnull(P_EndDate, '') = '') THEN
    SET P_EndDate = '2100-01-01';
  ELSE
    SET P_EndDate = date_format(date_add(P_EndDate, INTERVAL 1 DAY), '%Y-%m-d');
  END IF;
  SET P_strSql = '';
  SET P_strSql1 = 'select  CreatorGuid,createdate,';
  SET P_strSql2 = 'select  CreatorGuid,createdate,';
  SET P_strSql3 = '';
  OPEN curs;
  FETCH curs INTO P_ID, P_ParamName;
  WHILE (P_ID IS NOT NULL)
  DO
    SET P_strSql1 = concat(P_strSql1, 'ifnull(SUM(', P_ParamName, '),0)', P_ParamName, ',');
    SET P_strSql2 = concat(P_strSql2, 'case when ID=', concat(P_ID, ''), ' then num end ',


P_ParamName, ',');
    SET P_strSql3 = concat(P_strSql3, ',a.', P_ParamName);
    FETCH curs INTO P_ID, P_ParamName;
    
  END WHILE;
  CLOSE curs;


  /*SELECT P_strSql1;
  SELECT P_strSql2;
--SELECT LEFT(P_strSql3,LEN(P_strSql3)-1)*/
  SET P_strSql = concat(P_strSql1, '1 aa from (', P_strSql2, '1 aa from
(
select mi.CreatorGuid,date_format(mi.CreateTime,"%Y-%m-%d")


createdate,ks.ID,ks.ParamName,COUNT(*) num from MemberInteraction mi
left join K_SystemParam ks
on ks.id=mi.InteractionType
group by mi.CreatorGuid,ks.ParamName,ks.ID,date_format(mi.CreateTime,"%Y-%m-%d")
) a
)aa
group by CreatorGuid,createdate');


  /*print P_strSql*/
  SET P_strSql = concat('select km.RealName 顾问名称,d.DepartmentName 所属部


门,p.PositionName 职位,a.CreateDate 跟踪时间', P_strSql3, ' from (', P_strSql,
  ')a
left join K_Manager km
on a.CreatorGuid=km.ManagerGUID
left join Department d
on km.DepartmentGuid=d.DepartmentGuid
left join Position p
on km.PositionGuid=p.PositionGuid
',
  ' where a.createdate>="', P_StartDate, '" and a.createdate <"', P_EndDate, '"
order by km.RealName,a.createdate');


  SET @P_strSql = P_strSql;
  PREPARE result FROM @P_strSql;
   EXECUTE result;
  --  SELECT P_strSql;
END
分享到:
评论

相关推荐

    bootstrap-table-reorder-rows.js

    bootstrap-table-reorder-rows.js ,bootstraptable行拖动

    bootstrap-table-reorder-rows.js.zip

    在本压缩包 "bootstrap-table-reorder-rows.js.zip" 中,核心文件是 "bootstrap-table-reorder-rows.js",这显然是用于实现 Bootstrap Table 的行重排功能。 Bootstrap Table 行内编辑功能允许用户直接在表格单元格...

    bootstrap-table实现 行拖拽 插件jquery.tablednd.js bootstrap-table-reorder-rows.js

    bootstrap-table实现 行拖拽 插件 jquery.tablednd.js bootstrap-table-reorder-rows.js bootstrap-table-reorder-rows.css

    bootstraptable-reorder-columns表格拖拽排序列

    data: [/*...你的数据...*/], reorderableColumns: true // 启用列拖拽排序 }); }); ``` 在上述代码中,`reorderableColumns: true` 表示启用列拖拽排序功能。一旦设置,用户就可以通过鼠标点击并拖动表头来改变...

    bootstarp table行拖拽js.rar

    实现bootStarp Table ... { jsondata: JSON.stringify(newData) },//将整张表数据Post,当然,先序列化成Json function(data) { if (data == "success") { $table.bootstrapTable('refresh'); } }); } } });

    oracle恢复工具-FY_Recover_Data

    15:33:05: [copy_file] begin copy file: FY_DATA_DIR4\FY_REC_DATA4.DAT =&gt; FY_DATA_DIR4\FY_REC_DATA_COPY.DAT 15:33:05: [copy_file] completed. 15:33:05: Copy file of Recover Tablespace: FY_REC_DATA_COPY...

    react-data-grid:用于React的数据网格

    import { Grid, Row, Column } from 'react-data-grid'; const rows = [ { id: 1, name: 'John Doe', age: 30, occupation: 'Software Engineer' }, // 更多行数据... ]; const columns = [ { key: 'id', name:...

    Angular-ui-grid-draggable-rows.zip

    Angular-ui-grid-draggable-rows.zip,HTML5拖放功能,用于Angular UI GridDragable Rows插件,用于UI Grid,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular...

    基于Bootstrap table组件实现多层表头的实例代码

    &lt;table data-toggle="table"&gt; &lt;th data-colspan="1"&gt;妻子 &lt;th data-colspan="2"&gt;车子 &lt;th data-colspan="3"&gt;房子 &lt;th data-rowspan="2"&gt;总价值 唯一 &lt;th&gt;Mini &lt;th&gt;Smart &lt;th&gt;90平 &lt;th&gt;149平 别墅 ...

    FacebookReact组件fixed-data-table.zip

    fixed-data-table 是一个用于以灵活且强有力的方式建立并显示数据的 React 组件。它支持标准的桌面特征,像头条、行、列、头条组、滚动列。此组件在处理数千行数据的时不会牺牲性能。平滑地滚定是 FixedDataTable 的...

    python-leetcode题解之1337-The-K-Weakest-Rows-in-a-Matrix.py

    python python_leetcode题解之1337_The_K_Weakest_Rows_in_a_Matrix.py

    DataGridView is a very powerful tool to display data in tabular format

    - Print selected rows or columns - Center partitions on printed sheet - Page numbering - Optimized DataGridViewTextBoxCell printing - Word wrapping and cell size as presented in the DataGridView ...

    NX二次开发UF-DRF-ask-number-rows-in-callout 函数介绍

    NX二次开发UF_DRF_ask_number_rows_in_callout 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等...

    spreadsheet

    以下是一些关于Qt QTableWidget的重要知识点: 1. **QTableWidget的初始化**:创建QTableWidget对象时,你需要指定行数和列数。例如,`QTableWidget rows, columns)`会创建一个具有指定行数和列数的空表格。 2. **...

    (0081)-iOS/iPhone/iPAD/iPod源代码-地图(Map)-Multiple Rows Callout Annotation MapView

    自定义较复杂的MKAnnotation,在弹出的Annotation上面显示多行的内容,每一行都是独立的、可选的,可以赋予不同的点击函数(callout function)。 注意:请在Mac下解压使用

    multipartform-data 参数传递

    ### multipart/form-data 参数传递 在Web开发中,`multipart/form-data`是一种用于发送表单数据的编码类型,尤其适用于处理文件上传。此编码方式能够使客户端浏览器将表单中的普通文本字段与文件字段一起发送到...

    react-dynamic-data-table:具有可排序列、分页等功能的 React 可重用数据表

    npm install @langleyfoxall/react-dynamic-data-tableyarn add @langleyfoxall/react-dynamic-data-table 请记住在需要的地方导入DynamicDataTable组件。 import DynamicDataTable from "@langleyfoxall/react-...

    Qt5 Data Visualization 3D官方教程配套示例代码

    - Changing most of Q3DScene properties affecting subviewports currently has no effect. - Widget based examples layout incorrectly in iOS. - Reparenting a graph to an item in another QQuickWindow is ...

    random-data-generator

    1000 rows ( col { "id".rownumber }, col { "col title".name title }, col { "firstname".name firstname }, col { "surname".name surname }, col { "int".number between 10 and 1001 }, col { "money"....

    矩阵的参考资料

    mat-&gt;data = (double*)malloc(rows * cols * sizeof(double)); return mat; } void init_matrix(Matrix* mat, double value) { for (int i = 0; i &lt; mat-&gt;rows * mat-&gt;cols; i++) { mat-&gt;data[i] = value; } }...

Global site tag (gtag.js) - Google Analytics