Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Mit MySQL Dynamisch bestimmen,welche Tabelle benutzt werden soll

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.10.2005
    Beiträge
    41

    Mit MySQL Dynamisch bestimmen,welche Tabelle benutzt werden soll

    Hallo,

    ich habe derzeit ein kleines SQL Problem:

    Ich möchte mit MySQL durch eine MAPPING Tabelle festlegen, aus welcher Tabelle daten geladen werden sollen!

    Hintergrund:

    Ich habe in meiner Applikation für Testzwecke 2 verschiede Überwachungsmonitore:

    Der Eine Überwacht HTTP, der andere SSH

    Mein Tabellenkonstrukt sieht derzeit so aus:
    Code:
    HTTPMonitor(ID , URLprefix , MonitorID)
    SSHMonitor(ID , sshLogin,sshPassword , sshCommand , MonitorID)
    Monitor(MonitorID , IP , Port)
    Also die Beiden Konkreten Monitore HTTPMonitor und auch SSHMonitor bekommen ihre allgemeinen Infos noch zusätzlich aus der Monitor Tabelle.

    So weit ja auch kein Problem.

    Jetzt habe ich das Problem, das ich von der Applikation aus nicht weis, bzw nicht direkt wissen will, in welcher ich gucken muss..

    Dafür habe ich mir eine Extra Tabelle erstellt:
    Code:
    Mapping(Applikation_Name , Table_Name)

    In diese Tabelle geht nun meine Applikation rein, bekommt über ihren Name eine Tabelle zugewiesen und soll diese nun Abfragen.

    Syntax der Abfrage wäre also:

    Code:
    SELECT * FROM (SELECT table_name FROM mapping WHERE applikation_name  ="Der Applikationsname")
    Leider bekomme ich dabei imemr den Fehlercode
    "#1248 - Every derived table must have its own alias"

    Geht es überhaupt, das ich "dynamisch" aus einer Tabelle auslese, welche ich als nächstes benutzen muss??

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von michael.becker
    Geht es überhaupt, das ich "dynamisch" aus einer Tabelle auslese, welche ich als nächstes benutzen muss??
    MySQL kennt auch die IF Anweisung.
    Ob das damit möglich ist, kann ich nicht sagen.

    So was macht man viel bequemer mit einer Script o. Programmiersprache.
    Was ist, wenn noch mehr komplexe verschachtelte Prüfungen vorher
    ausgeführt werden sollen? Dafür ist eine SQL Anweisung bestimmt nicht
    geeignet.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Hab lange nix mehr mit SQL gemacht ....

    Aber du koenntest dir auch ...nen Select aus der tabelle 1 und 2 bauen, wo an erster stelle fix der Tabellenname steht, beide selects per union verbinden und den tabellennamen auf die fixe spalte in der wehre klausel aufnehmen ^^

    Aber mal ehrlich, SQL ist dafuer da das man sich Statements zusammenbaut und diese auf die DB schiesst, dass alles hoch dynamisch ... deinen SQL string dynamisch anzupassen sollt doch die richtige Wahl sein ....

    Ciao ...

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von RHBaum
    Aber mal ehrlich, SQL ist dafuer da das man sich Statements zusammenbaut und diese auf die DB schiesst, dass alles hoch dynamisch ... deinen SQL string dynamisch anzupassen sollt doch die richtige Wahl sein ....

    Ciao ...
    Auf den ersten Blick schon, aber...

    - Was ist mit String Prüfungen, bevor in die DB geschrieben wird?
    - Mysql kennt auch kein elseif.
    - Später möchte der Admin vielleicht bei einem bestimmten
    Ereignis eine eMail versenden?

    Da hat doch SQL seine Grenzen...
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Da hat doch SQL seine Grenzen...
    Ja definitiv, SQL soll dir ja auch kein richtiges Userprogramm ersetzen ^^

    - Was ist mit String Prüfungen, bevor in die DB geschrieben wird?
    - Mysql kennt auch kein elseif.
    - Später möchte der Admin vielleicht bei einem bestimmten
    Ereignis eine eMail versenden?
    Das ist definitiv keine Aufgabe von SQL ... sondern sprache / scripts, die auch das SQL nur nutzen ....

    Ciao ...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •