t.ony
-
Gesamte Inhalte
7 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von t.ony
-
-
Hallo,
folgende Situation: Anwender1 lässt sich die Daten anzeigen, wählt nen Datensatz aus (geschieht alles über ne GUI) und will den nun ändern. Jetzt will ich vermeiden das Anweder2 den Datensatz genau in diesem Moment löscht. Weil kann ja sein, dass Anwender1 unheimlich langsam ist, zwar schon im Änderungsmodus, Anweder2 aber doch schneller war.
Ich dachte ich könnte das irgendwie mit RowLock lösen, dass ich quasi den Datensatz wenn der Anwender1 auf "Bearbeiten" klickt einfach nochmal aus der DB lese und sperre. So lange wie Anwender1 dann brauch zum bearbeiten kann ihn dann kein andere bearbeiten und auch nicht löschen. Ist das irgendwie möglich mit MS SQL?
Wenn ich den Datensatz mit "Select * from tabelle_xyz with(rowlock) where id=1" ist hole bringt mir das ja nix, weil das ja nur für diese winzig kurze zeit gesperrt ist.
Jemand ne Idee?
-
mh, die "lösung" mit dem string ist mir auch schon eingefallen. nicht schön, aber immerhin funktioniert sie...
-
Hallo, ich habe de folgende Frage an euch. Ich habe mir einen Trigger gebastelt. Der funktioniert wunderbar. Nun möchte ich gerne um den Trigger drum herum eine StoredPorcedure packen.
Also so sozusagen:
create procedure create_trigger @tabellen_name varchar(50), @trigger_name varchar(50), as begin create trigger @trigger_name on @tabellen_name after insert begin ... ... hier die Anweisungen des Triggers... ... end end
Ist das möglich? Ich bekomme die Fehlermeldung: Falsche Syntax in der Nähe von '@tabellen_name'.
Sinn der Sache ist halt einfach das ich die sp aufrufe ihr die Daten übergebe und dadurch "automatisch" der trigger erstellt wird.
-
hey, danke streffin das funktioniert wirklich prima.
-
ja sry, ganz vergessen. ms sql...
-
Hey ich habe folgendes Problem und bräuchte mal Hilfe. Meine aktuelle Tabelle sieht so aus...
ID------Name
1-------Sven
2--------franz
NULL-----Klara
NULL-----Katja
Die ID heißt zwar ID aber es ist keine... Fragt micht nicht wieso ich habe die Tabellen nicht aufgebaut...
Nun würde ich gerne mit einer Anweisung daraus folgendes machen
ID------Name
1-------Sven
2--------franz
3--------Klara
4--------Katja
Wenn ich dies nun über ein normales Update mache ist es ja klar das er das nicht korrekt macht.
UPDATE test SET ID = (SELECT MAX(ID)+1 FROM test) WHERE ID IS NULL
Da kommt logischerweise bei den NULL-Werten jeweils ne 3...
Rowlock...Datensatz sperren
in Datenbanken
Geschrieben
mh leider hilft mir auch holdlock nicht weiter... hatte ich natürlich auch direkt ausprobiert.