sql >> Databáze >  >> RDS >> Mysql

Jaký je ekvivalent REF CURSOR společnosti Oracle v MySQL?

MySQL nemá rekurzor jako Oracle. Pokud plánujete napsat uloženou proceduru, která vrací více řádků/výsledkových sad v MySQL, udělejte to

DROP procedure IF EXISTS `sample`;
DELIMITER $$
CREATE  PROCEDURE `sample`(p_rank IN INT)
BEGIN
select * from MyTable where id=p_rank;
END$$
DELIMITER ;

a zavolejte sample(); . Vrátí sadu výsledků, kterou můžete použít.



  1. OperationalError:(2002, nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2))

  2. Řetězec oddělený čárkou --> FUNKCE db.CHARINDEX neexistuje

  3. Najděte duplicitní položky ve sloupci

  4. Vyloučení spojení:Když SQL Server odstraní nepotřebné tabulky