Essayer de migrer de MSSQL à MySQL. Ce processus stocké crée une table temporaire pour certaines colonnes à partir d'une table permanente, puis utilise un curseur pour mettre à jour la colonne RandNum de chaque enregistrement avec un nombre aléatoire et sélectionne l'ensemble de données. Comme je l'écris ce que je pensais que je pouvais contourner le curseur et juste ...Aidez-moi avec ce code de curseur MySql
SELECT Id, Title, DateStart, Rand() FROM cms_News;
Mais je ne veux pas changer quoi que ce soit trop drastique, parce qu'en ce moment je suis juste essayer de convertir la DB. Je vais revenir en arrière et optimiser ce genre de choses plus tard. Voici le SP: EDIT: J'ai enlevé tout le code de cet exemple qui n'a rien à voir avec l'erreur. En outre, j'ai vu this en ligne aujourd'hui et il semble que je ne suis pas le seul à avoir ce problème. MySQL n'aime pas la syntaxe de ma déclaration de curseur. Des idées?
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;//
Ce n'est pas ce qui le brise, bien que cela soulève une autre question à laquelle vous pouvez répondre si vous le souhaitez: http: // stackoverflow.com/questions/1009954/mysql-variable-vs-variable-quoi-la-différence – DJTripleThreat