Ich versuche gerade aus einer Externen Tabelle vordefinierte Datenfelder in eine Abfrage ein zu bauen.

Die Prozedurale Anweisung war weniger das Problem, jedoch kann ich nur Datentypen zurück geben die mit den MySQL Spaltentypen Identisch sind.

Gibt es eine Möglichkeit Datenfelder aus einem TEXT – z.B. mit eval() in eine Datenfeld abfrage zu konvertieren?
Code:
USE `ETTR_v2008`;

SET @permissionid = 1;
SET @gid = 31;

DROP PROCEDURE IF EXISTS `tb_permitted_fields`;
DELIMITER //
CREATE PROCEDURE `tb_permitted_fields` (IN perm INT,OUT ret TEXT)
LANGUAGE SQL
READS SQL DATA
SQL SECURITY DEFINER
COMMENT 'subquery for predefined field names'
BEGIN
  DECLARE ready INT DEFAULT 0;
  DECLARE buffer VARCHAR(30);
  DECLARE handle CURSOR FOR SELECT CONCAT('a.',`fp`) AS buffer
    FROM `ettr_ro_fieldnames`
    WHERE (`restrict` LIKE 0 AND `perm` <= perm)
    ORDER BY `sort` ASC LIMIT 40;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET ready = 1;
  OPEN handle;
  REPEAT
    FETCH handle INTO buffer;
    IF NOT ready THEN
      IF length( buffer ) > 1 THEN
        SET ret = CONCAT_WS (',', ret, buffer);
      END IF;
    END IF;
  UNTIL ready END REPEAT;
  CLOSE handle;
END //
DELIMITER ;

CALL tb_permitted_fields(@permissionid,@fieldnames);

SELECT SQL_BIG_RESULT DISTINCTROW
a.ID AS `rou-id`
, a.toID AS `top-id`
, a.gebID AS `geb-id`
, a.model
, a.tech AS `b-tech`
, a.pics AS `count-pics`
, COUNT ( d.ID ) AS `count-comments`
, d.ID AS `comment-id`
, a.rtn
, IF( a.uiaa=46,NULL,b.uiaa)
, a.tech
, IF( a.vari=1,'yes','now')
-- Hier sollte MySQL die Procedure als Datenbank Felder auswerten.
, @fieldnames
FROM `ettr_ro_data` AS a
LEFT JOIN `ettr_uiaa` AS b ON b.id=a.uiaa
LEFT JOIN `ettr_ro_comments` AS d ON d.rouID=a.ID
WHERE ( a.gebID=@gid )
GROUP BY a.toID
ORDER BY a.toID ASC LIMIT 4500;
verwende mysql Ver 14.14 Distrib 5.1.47, for pc-linux-gnu (i686) using readline 6.1