Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MS SQL Spalte auslesen und zerschneiden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] MS SQL Spalte auslesen und zerschneiden

    Hallo,

    ich habe im moment folgenes Problem. Ich habe in mehreren Zeilen einer Spalte einen den gleichen Link.
    Dieser hat sich nun aber geändert, weshalb ich den automatisiert ändern möchte.

    Diese Anweisung sieht bisher so aus:
    Code:
      
    update [TBL_LinkKonfiguration]
      set [str_url] = 'http://testserver.localhost/Work/Projekte/Version2/src/index?sessionGuid={sessionguid}'
      where [str_url] = 'http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}'
      ;
    Das funktioniert auch soweit. Aber da ich aber mehrere Datenbanken und verschiedene Server habe, möchte ich das gleiche für die anderen Tabellen machen. Bei den anderen Tabellen ist der einzige Unterschied, dass der Link mit "http://liveserver.ensaw/releases/" anfängt.

    Meine Frage ist nun, wie kann ich den Befehl so anpacken, dass der nur ab "/Version1/.../.../" den Link auf "/Version2/.../.../" ändert?

  • #2
    MySQL hat REPLACE(), das sollte bei der Eindeutigkeit der Links gut funktionieren. Keine Ahnung, was micischrottSQL hier anbietet.

    http://dev.mysql.com/doc/refman/5.1/de/replace.html
    [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

    Kommentar


    • #3
      Jain, Replace gibt es zwar beim MS SQL, aber nicht auf Spalten bezogen.

      Ich möchte ja über eine komplette Spalte gehen.

      Kommentar


      • #4
        Das wiederum verstehe ich jetzt nicht? Über was willst du sonst REPLACE() anwenden wenn nicht über den Inhalt einer Spalte?
        [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

        Kommentar


        • #5
          Code:
          REPLACE([str_url], 'Version1/.../...', 'Version2/.../...');
          Dies funktioniert nicht.

          Kommentar


          • #6
            Zeig doch einmal den kompletten Query, so wie du ihn auf die Datenbank abfeuerst. Und am Besten gleich ein Beispiel-Set an Daten dazu.
            [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

            Kommentar


            • #7
              Ich bedanke mich auf jedenfall schonmal für deine Mühe. Ich kenne mich mit MS SQL leider nicht ganz so gut aus. Deswegen kopiere ich einfach mal das hier rein, was ich bekomme, wenn ich den Befehl ausführen möchte.

              Ausgeführter Code:
              Code:
              SELECT * FROM [TBL_LinkKonfiguration]
                REPLACE(STR_URL, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}');
                GO
              Result:
              Code:
              "STR_URL" is not a recognized table hints option. If it is intended as a parameter to a table-valued function or to the CHANGETABLE function, ensure that your database compatibility mode is set to 90.
              Beispieldaten:
              int_produkt int_code bit_aktiv int_nurdrucken int_obernummer str_url
              20 4005 1 2 NULL http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              24 4004 1 2 NULL http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              72 NULL 1 0 15903 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              73 NULL 1 0 15903 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              83 NULL 1 2 3822 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              104 NULL 1 0 17854 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              116 NULL 1 0 3793 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              117 NULL 1 0 3793 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              122 NULL 1 0 14907 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              130 NULL 1 0 6826 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              131 NULL 1 0 6826 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
              Angehängte Dateien

              Kommentar


              • #8
                So?
                Code:
                UPDATE tbl_linkkonfiguration
                SET str_url = (SELECT
                               REPLACE(str_url, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}')
                               FROM tbl_linkkonfiguraion)

                Kommentar


                • #9
                  Code:
                  UPDATE tbl_linkkonfiguration SET str_url = REPLACE(str_url, '/Version1/src', '/Version2/src')
                  Code:
                  SELECT field1, field2, [...], REPLACE(str_url, '/Version1/src', '/Version2/src') as str_url FORM tbl_linkkonfiguration
                  [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                  Kommentar


                  • #10
                    Zitat von Der Hans Beitrag anzeigen
                    So?
                    Code:
                    UPDATE tbl_linkkonfiguration
                    SET str_url = (SELECT
                                   REPLACE(str_url, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}')
                                   FROM tbl_linkkonfiguraion)
                    Vielen Dank euch beiden, genau das hat geholfen.

                    MfG
                    Ensaw

                    Kommentar

                    Lädt...
                    X