- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Mysql 中的光标在 Mysql 5.57 中不起作用
我将SQL查询转换为MySQL查询,SQL查询给我记录,但在Mysql查询中没有提供任何记录,也没有给出任何错误
//以下是我的SQL查询
USE [Trackdb]
GO
/****** Object: StoredProcedure [dbo].[GetRecords] Script Date: 06-11-2019 09:48:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetRecords]
AS
BEGIN
DECLARE @Date VARCHAR(15)
create table #TempHotel
(
CatID Varchar(50),
Cnt INT,
Date Date
)
create table #TempRestaurant
(
CatID Varchar(50),
Cnt INT,
Date Date
)
DECLARE Track_CURSOR CURSOR
LOCAL FORWARD_ONLY FOR
SELECT Distinct(Convert(date,ms_date)) FROM tbltrackingrtt WHERE ms_date > '2017-11-01' AND heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145
OPEN Track_CURSOR
FETCH NEXT FROM Track_CURSOR INTO @Date
WHILE @@FETCH_STATUS = 0
BEGIN
--PRINT 'EMP_ID: ' + @Date --+ ' EMP_NAME '+@EMP_NAME +' EMP_SALARY ' +CONVERT(NVARCHAR(MAX),@EMP_SALARY) + ' EMP_CITY ' +@EMP_CITY
INSERT INTO #TempHotel
SELECT TOP 100 Category AS CatID, Count(id) Cnt, convert(Date,ms_date) Date FROM tbltrackingrtt
WHERE heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145 AND CONVERT(DATE,ms_date) = @Date
GROUP BY Category, convert(Date,ms_date)
ORDER BY convert(Date,ms_date) ASC, Count(id) DESC
INSERT INTO #TempRestaurant
SELECT TOP 100 Category AS CatID, Count(id) Cnt, convert(Date,ms_date) Date FROM tbltrackingrtt
WHERE heirarchy LIKE '%*169*%' AND category <> 0 AND category <> 169 AND CONVERT(DATE,ms_date) = @Date
GROUP BY Category, convert(Date,ms_date)
ORDER BY convert(Date,ms_date) ASC, Count(id) DESC
FETCH NEXT FROM Track_CURSOR INTO @Date
END
SELECT * FROM #TempHotel
SELECT * FROM #TempRestaurant
CLOSE Track_CURSOR
DEALLOCATE Track_CURSOR
DROP table #TempHotel
DROP table #TempRestaurant
END
//以下是我的 Mysql 查询
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetRecords`()
BEGIN
DECLARE NOT_FOUND INT DEFAULT 0;
DECLARE v_Date VARCHAR(15);
DECLARE Track_CURSOR
CURSOR FOR
SELECT Distinct CAST(ms_date as Date) FROM tbltrackingrtt WHERE ms_date > '2017-11-01' AND heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145;
create temporary table TempHotel
(
CatID Varchar(50),
Cnt INT,
Date Date
);
create temporary table TempRestaurant
(
CatID Varchar(50),
Cnt INT,
Date Date
);
OPEN Track_CURSOR;
FETCH Track_CURSOR INTO v_Date;
WHILE NOT_FOUND = 0
DO
-- PRINT 'EMP_ID: ' + @Date --+ ' EMP_NAME '+@EMP_NAME +' EMP_SALARY ' +CONVERT(NVARCHAR(MAX),@EMP_SALARY) + ' EMP_CITY ' +@EMP_CITY
INSERT INTO TempHotel
SELECT Category AS CatID, Count(id) Cnt, CAST(ms_date as Date) as Date FROM tbltrackingrtt
WHERE heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145 AND CAST(ms_date as Date) = v_Date
GROUP BY Category, CAST(ms_date as Date)
ORDER BY CAST(ms_date as Date) ASC, Count(id) DESC LIMIT 100;
select TempHotel;
INSERT INTO TempRestaurant
SELECT Category AS CatID, Count(id) Cnt, CAST(ms_date as Date) as Date FROM tbltrackingrtt
WHERE heirarchy LIKE '%*169*%' AND category <> 0 AND category <> 169 AND CAST(ms_date as Date) = v_Date
GROUP BY Category, CAST(ms_date as Date)
ORDER BY CAST(ms_date as Date) ASC, Count(id) DESC LIMIT 100;
FETCH Track_CURSOR INTO v_Date;
END WHILE;
SELECT * FROM TempHotel;
SELECT * FROM TempRestaurant
CLOSE;
DROP table TempHotel;
DROP table TempRestaurant;
END
任何人都可以帮我解决这个问题,我不知道我在这里做错了什么,MySQL 游标有什么问题
最佳答案
除了 @solarflare 指出的语法错误之外,此代码似乎唯一有问题的是缺少您应该查看的处理程序 https://dev.mysql.com/doc/refman/8.0/en/cursors.html和 https://dev.mysql.com/doc/refman/5.7/en/handler.html (你应该了解 mysql 中的错误处理)
drop procedure if exists p;
drop temporary table if exists temphotel,temprestaurant;
drop table if exists tbltrackingrtt;
create table tbltrackingrtt
(id int auto_increment primary key,ms_date date,heirarchy varchar(20),category int);
insert into tbltrackingrtt (ms_date,heirarchy,category) values
('2017-11-02','*145*',10), ('2017-11-02','*145*',10),
('2017-11-02','*169*',10), ('2017-11-02','*145*',10);
delimiter $$
CREATE PROCEDURE p()
BEGIN
DECLARE NOT_FOUND INT DEFAULT 0;
DECLARE v_Date VARCHAR(15);
DECLARE Track_CURSOR
CURSOR FOR
SELECT Distinct CAST(ms_date as Date)
FROM tbltrackingrtt
WHERE ms_date > '2017-11-01' AND heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found = TRUE;
create temporary table TempHotel
(
CatID Varchar(50),
Cnt INT,
Date Date
);
create temporary table TempRestaurant
(
CatID Varchar(50),
Cnt INT,
Date Date
);
OPEN Track_CURSOR;
FETCH Track_CURSOR INTO v_Date;
WHILE NOT_FOUND = 0 DO
-- PRINT 'EMP_ID: ' + @Date --+ ' EMP_NAME '+@EMP_NAME +' EMP_SALARY ' +CONVERT(NVARCHAR(MAX),@EMP_SALARY) + ' EMP_CITY ' +@EMP_CITY
INSERT INTO TempHotel
SELECT Category AS CatID, Count(id) Cnt, CAST(ms_date as Date) as Date
FROM tbltrackingrtt
WHERE heirarchy LIKE '%*145*%' AND category <> 0 AND category <> 145 AND CAST(ms_date as Date) = v_Date
GROUP BY Category, CAST(ms_date as Date)
ORDER BY CAST(ms_date as Date) ASC, Count(id) DESC LIMIT 100;
select * from TempHotel;
INSERT INTO TempRestaurant
SELECT Category AS CatID, Count(id) Cnt, CAST(ms_date as Date) as Date
FROM tbltrackingrtt
WHERE heirarchy LIKE '%*169*%' AND category <> 0 AND category <> 169 AND CAST(ms_date as Date) = v_Date
GROUP BY Category, CAST(ms_date as Date)
ORDER BY CAST(ms_date as Date) ASC, Count(id) DESC LIMIT 100;
FETCH Track_CURSOR INTO v_Date;
END WHILE;
SELECT * FROM TempHotel;
SELECT * FROM TempRestaurant
CLOSE;
DROP table TempHotel;
DROP table TempRestaurant;
END $$
delimiter ;
call p();
+-------+------+------------+
| CatID | Cnt | Date |
+-------+------+------------+
| 10 | 3 | 2017-11-02 |
+-------+------+------------+
1 row in set (0.27 sec)
+-------+------+------------+
| CatID | Cnt | Date |
+-------+------+------------+
| 10 | 3 | 2017-11-02 |
+-------+------+------------+
1 row in set (0.29 sec)
+-------+------+------------+
| CatID | Cnt | Date |
+-------+------+------------+
| 10 | 1 | 2017-11-02 |
+-------+------+------------+
1 row in set (0.30 sec)
关于mysql - Mysql 中的光标在 Mysql 5.57 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58723130/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!