Mysql
 sql >> база данни >  >> RDS >> Mysql

Предаване на име на колона като параметър в mysql съхранена функция

Има няколко проблема с вашия подход. Първо, не можете да използвате своя аргумент стойност за препратка към основната колона. Хубавото е, че можете да използвате Подготвени отчети като заобиколно решение за това.

Вторият проблем е, че MySQL функциите не позволяват използването на Prepared Statements. За да заобиколите това ограничение, трябва вместо това да използвате съхранени процедури. Като пример:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql, итерирайте през имената на колони

  2. Как да свържа mysql база данни и да вмъкна данни в нея с помощта на код за Android

  3. Как мога да обединя набор от резултати в MySQL?

  4. Декларирайте променлива в MySQL база данни „само за четене“.

  5. Не може да се свърже с отдалечен MySQL с VB6 (10060)