Page Title

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeurban:menue:werkzeuge_allgemeinesqlbefehle

Dies ist eine alte Version des Dokuments!


Allgemeine SQL-Befehle

Letzte Änderung mit MIKE Urban Version 2011 SP7.

Einleitung

Mit allgemeinen SQL-Befehlen können Sie Modelldaten in beliebiger Art bearbeiten, beispielsweise um den Rohrdurchmesser vom Nenndurchmesser auf den tatsächlichen Innendurchmesser zu ändern, oder um die Rohrrauhigkeit in Abhängigkeit vom Rohrmaterial festzulegen.

Sie können mehrere Befehle hintereinander ausführen, und die Befehlssequenz für eine neuerliche Verwendung speichern.

Dialogfeld

Klicken zum Vergrößern

Feld Erklärung
Ausführen führt die SQL-Befehle aus
Laden öffnet eine Textdatei mit SQL-Befehlen
Speichern speichert die angezeigten SQL-Befehle zur späteren Verwendung in eine Textdatei
Schließen schließt den Editor ohne Ausführung der Befehle

Grundlegende Beispiele

Die folgenden Beispiele gelten, wenn die Datenbank im *.mdb-Format (Personal Geodatabase) vorliegt.

(a) Alle Zeilen der Tabelle Rohre (mw_pipe) werden aktualisiert, indem die Rauigkeit (rcoeff) mit 1,15 multipliziert wird:

UPDATE mw_pipe SET rcoeff = rcoeff * 1.15;

(b) In den Zeilen der Tabelle Schächte (msm_node), in denen der Durchmesser (diameter) 0,99 beträgt, wird der Durchmesser auf 1 gesetzt:

UPDATE msm_node SET diameter = 1.0 WHERE diameter = 0.99;

(c) Die Leitung "Schieber1" wird geschlossen und die Leitung "Schieber2" wird geöffnet:

UPDATE mw_Pipe SET StatusNo = 1 WHERE MUID = 'Schieber1';
UPDATE mw_Pipe SET StatusNo = 0 WHERE MUID = 'Schieber2';

(d) Die einfache Tabellenverknüpfung bezieht eine zusätzliche Tabellen mit ein. Im folgenden Beispiel wird das Feld Beschreibung (Description) der Schacht-Tabelle (msm_Node) mit der ID (MUID) des jeweils verknüpften Einzugsgebiets (msm_CatchCon.CatchID) gefüllt.

UPDATE msm_Node, msm_CatchCon 
    SET msm_Node.Description = msm_CatchCon.CatchID 
    WHERE msm_CatchCon.NodeID = msm_Node.MUID;

Technische Details

Allgemeine SQL-Befehle können auf alle Tabellen und Featureklassen in der MIKE Urban-Datenbank zugreifen.

Sie können den SQL-Befehl UPDATE zum Verändern der Feldinhalte verwenden.

Eine reine Auswahl mit dem SQL-Befehl SELECT ist nicht möglich. Behelfslösung: Feld "Markierung" mit UPDATE bearbeiten.

Zwar funktioniert auch der SQL-Befehl ALTER (zum Hinzufügen und Löschen von Spalten), DHI rät aber von der Verwendung ab und empfiehlt, Veränderungen an der Datenstruktur ausschließlich über ArcMap oder ArcCatalog durchzuführen.

Da es sich bei SQL um eine Art Programmiersprache handelt, müssen Sie bei Dezimalzahlen immer den DezimalPUNKT verwenden.

Mehrere SQL-Befehle hintereinander müssen durch Strichpunkte ; getrennt sein.

Zeilenumbrüche, mehrere aufeinander folgende Leerzeichen oder die Unterscheidung zwischen Klein- und Großschreibung haben keine Auswirkung auf SQL-Befehle, sie dienen lediglich der besseren Lesbarkeit.

Wikibooks: Einführung in SQL

Die offizielle Dokumentation der "Allgemeinen SQL-Befehle" finden Sie im Handbuch "MIKE URBAN Model Manager" im Kapitel 2.11.3 "General SQL Command".

Weitere Beispiele

Folgender Ausdruck überträgt den undurchlässigen Anteil aus MOUSE Modell A auf den undurchlässigen Anteil in SWMM.1)

UPDATE mss_CatchModel, msm_HModA
    SET mss_CatchModel.Impervious = msm_HModA.ImpArea
    WHERE mss_CatchModel.CatchID = msm_HModA.CatchID;

Offene Punkte

  • ein Beispiel für Unterabfragen
  • SQL-Abfragen aus der MOUSE-Zeit ausgraben
  • Was ist, wenn die Datenbank nicht als Personal Geodatabase vorliegt?
1)
Nützlich, wenn man ein MOUSE-Modell mit "Senden" auf ein SWMM-Modell überträgt; dabei werden die hydrologischen Eigenschaften nämlich nicht übertragen.
mikeurban/menue/werkzeuge_allgemeinesqlbefehle.1386105935.txt.gz · Zuletzt geändert: 2013/12/03 22:25 von thomas