Supportnet Computer
Planet of Tech

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:

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

Antwort 3 von erik

Hallo Rolf,

sowas wie Erblasten hatte ich schon fast geahnt. Furchtbar. ;-)

Gruß
erik

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: