Guten morgen,
ich suche nach einer Möglichkeit in mysql in stored Procedures in einer Abfrage Variablen zu verwenden.
Ziel ist es Abfragen in einer Tabelle zu speichern um dynamisch Gruppen von Mitarbeitern zu erstellen die den Kriterien in der Abfrage entsprechen.
Ich möchte nicht für jede Gruppe eine eigene Abfrage in den Code schreiben sondern (ähnlich wie in der Powershell) dynamische Gruppen erstellen können.
Bei meiner Recherche lande ich bei den Themen 'php' oder bei Abfragen wie 'select a from tbl where a = VARIABLE;'
Ich suche aber nach einer Möglichkeit Variablen als gesamte bedingung, oder lieber noch: als ganze abfrage zu übergeben:
Set VARIABLE = 'a=x';
Select a from tbl where VARIABLE;
oder so:
Set VARIABLE = 'a from tbl where a = x';
Select VARIABLE;
Ich habe es bisher folgendermaßen getestet:
------------------------------------------------------------------
DELIMITER $$
USE `personal_db_restore`$$
DROP PROCEDURE IF EXISTS `sp_selectÜbung`$$
CREATE DEFINER=`root`@`konz%` PROCEDURE `sp_selectÜbung`()
BEGIN
DECLARE varText VARCHAR(128);
DECLARE varAlias VARCHAR(128);
SET varText = 'testText';
SET varAlias = 'Spaltentitel';
SELECT varText AS varAlias;
END$$
DELIMITER ;
------------------------------------------------------------------
Das Ergebnis ist wie zu erwarten:
varAlias: testText
Ich hätte gern das da Spaltentitel: testText ausgegeben wird.
Bin für jeden Hinweis dankbar
Viele Grüße
Tim
ich suche nach einer Möglichkeit in mysql in stored Procedures in einer Abfrage Variablen zu verwenden.
Ziel ist es Abfragen in einer Tabelle zu speichern um dynamisch Gruppen von Mitarbeitern zu erstellen die den Kriterien in der Abfrage entsprechen.
Ich möchte nicht für jede Gruppe eine eigene Abfrage in den Code schreiben sondern (ähnlich wie in der Powershell) dynamische Gruppen erstellen können.
Bei meiner Recherche lande ich bei den Themen 'php' oder bei Abfragen wie 'select a from tbl where a = VARIABLE;'
Ich suche aber nach einer Möglichkeit Variablen als gesamte bedingung, oder lieber noch: als ganze abfrage zu übergeben:
Set VARIABLE = 'a=x';
Select a from tbl where VARIABLE;
oder so:
Set VARIABLE = 'a from tbl where a = x';
Select VARIABLE;
Ich habe es bisher folgendermaßen getestet:
------------------------------------------------------------------
DELIMITER $$
USE `personal_db_restore`$$
DROP PROCEDURE IF EXISTS `sp_selectÜbung`$$
CREATE DEFINER=`root`@`konz%` PROCEDURE `sp_selectÜbung`()
BEGIN
DECLARE varText VARCHAR(128);
DECLARE varAlias VARCHAR(128);
SET varText = 'testText';
SET varAlias = 'Spaltentitel';
SELECT varText AS varAlias;
END$$
DELIMITER ;
------------------------------------------------------------------
Das Ergebnis ist wie zu erwarten:
varAlias: testText
Ich hätte gern das da Spaltentitel: testText ausgegeben wird.
Bin für jeden Hinweis dankbar
Viele Grüße
Tim