尝试从 MSSQL 迁移到 MySQL。此存储过程正在为永久表中的某些列创建临时表,然后使用游标用随机数更新每条记录的 RandNum 列并选择数据集。在我写这篇文章时,我认为我可以绕过光标,然后......
SELECT Id, Title, DateStart, Rand() FROM cms_News;
但我不想改变任何过于激烈的东西,因为现在我只是想转换数据库。我稍后会回去优化这些东西。这是 SP:编辑:我从这个示例中删除了所有与错误无关的代码。另外,我今天在网上看到了这个,看来我不是唯一一个遇到这个问题的人。MySQL 不喜欢我的游标声明的语法。有任何想法吗?
DELIMITER ;//
DROP PROCEDURE IF EXISTS `cms_NewsSelectMainPageNews`;//
CREATE PROCEDURE `cms_NewsSelectMainPageNews`
()
BEGIN
CREATE TEMPORARY TABLE tempNews
(
Id int NOT NULL,
Title nvarchar(250),
DateStart datetime,
RandNum float NULL
);
DECLARE Randomizer CURSOR
FOR SELECT Id FROM tempNews;
END;//