Пытается перейти с MSSQL на MySQL. Этот Stored Proc создает временную таблицу для некоторых столбцов из постоянной таблицы, а затем использует курсор для обновления столбца RandNum каждой записи со случайным числом и выбирает набор данных. Как я пишу это, я думал, что я мог бы обойти курсор и просто ...Помогите мне с этим кодом курсора MySql
SELECT Id, Title, DateStart, Rand() FROM cms_News;
Но я не хочу ничего менять слишком резким, потому что прямо сейчас я просто пытаюсь конвертировать БД. Я вернусь и оптимизирую этот материал позже. Вот SP: EDIT: Я удалил весь код из этого примера, который не имеет ничего общего с ошибкой. Кроме того, сегодня я видел this, и кажется, что я не единственный, у кого эта проблема. 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;//
Это не то, что нарушает его, хотя это вызывает другой вопрос, на который вы можете ответить, если хотите: http: // stackoverflow.ком/вопросы/1009954/MySQL переменной-против-переменной Что-разностной – DJTripleThreat