Supportnet / Forum / Datenbanken
SQL um bestimmten Buchstaben zu löschen
Frage
Hallo zusammen
Ich habe eine Applikation, die Zugriffsrechte über Buchstaben in einem Feld steuert.
Z.B. bedeutet U=Update-Recht, R=Read-Recht, usw.
Nun möchte ich allen Einträgen das Recht L entfernen.
Das Problem dabei ist, dass die Reihenfolge der Buchstaben wild durcheinander sein können; das heisst, folgende Einträge bedeuten dieselbe Berechtigung:
URL
LUR
RLU
ULR
usw.
Nun brauche ich ein SQL-Update script, welches mir alle vorhadenen L's rauslöscht, aber den Rest des Feldes unverändert lässt.
Hat mir jemand von Euch eine Idee, wie das zu lösen ist?
Besten Dank für Eure Hilfe!
Gruss Rolf
Antwort 1 von erik
Hallo Rolf,
am besten setzt du die Replace()-Funktion ein, indem du "L" durch nichts ersetzt:
Ich weiss zwar nicht, warum du das so machen musst, aber datenbanktechnisch gesehen ist das eigentlich Unsinn. Statt Zeichenfolgen zu durchforsten bieten sich für die benötigten Rechte drei Ja/Nein-Spalten an, die jeweils auf Wahr oder Falsch gesetzt werden sollten.
Gruß
erik
am besten setzt du die Replace()-Funktion ein, indem du "L" durch nichts ersetzt:
UPDATE MeineTabelle
SET MeineTabelle.MeineRechte = Replace([MeineRechte],"L","");
Ich weiss zwar nicht, warum du das so machen musst, aber datenbanktechnisch gesehen ist das eigentlich Unsinn. Statt Zeichenfolgen zu durchforsten bieten sich für die benötigten Rechte drei Ja/Nein-Spalten an, die jeweils auf Wahr oder Falsch gesetzt werden sollten.
Gruß
erik
Antwort 2 von WORM
Hallo Erik
Vielen Dank, hat super funktioniert!
Nun, ich gebe Dir recht, dass es mit 3 Ja/Nein-Spalten einfacher wäre...
Allerdings habe ich keinen Einfluss auf den Programm-Code... das Programm wurde vor Jahren so geschrieben, also kann ich mich nur an die gegebenen Umstände halten :-)
Gruss Rolf
Vielen Dank, hat super funktioniert!
Nun, ich gebe Dir recht, dass es mit 3 Ja/Nein-Spalten einfacher wäre...
Allerdings habe ich keinen Einfluss auf den Programm-Code... das Programm wurde vor Jahren so geschrieben, also kann ich mich nur an die gegebenen Umstände halten :-)
Gruss Rolf
Antwort 3 von erik
Hallo Rolf,
sowas wie Erblasten hatte ich schon fast geahnt. Furchtbar. ;-)
Gruß
erik
sowas wie Erblasten hatte ich schon fast geahnt. Furchtbar. ;-)
Gruß
erik