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

Předání názvu sloupce jako parametru v uložené funkci mysql

S vaším přístupem je několik problémů. Za prvé, nemůžete použít svůj argument hodnota odkazovat na podkladový sloupec. Dobrá věc je, že můžete použít Připravené výpisy jako řešení.

Druhým problémem je, že funkce MySQL neumožňují použití připravených příkazů. Chcete-li toto omezení obejít, musíte místo toho použít uložené procedury. Jako příklad:

CREATE PROCEDURE test_func (IN col1 varchar(100), OUT res int)
BEGIN

SET @s=CONCAT('SELECT ',col1,' INTO @res FROM yourtable WHERE id=1');
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

SELECT @res INTO res;

END


  1. náhodná čísla v java

  2. hibernate + mysql + načíst data do souboru

  3. Použít filtr v Oracle View

  4. Rozhodněte se mezi monitorováním na základě agenta a monitorováním bez agenta