Forum - Beitrag anzeigen

SQL-Server - RE: schlüsselfeld

Icon Pfeil Startseite Icon Pfeil Kategorie Icon Pfeil Suche

Icon Forum Beitrag vom 09.08.2004 11:34 (617 Aufrufe)
Name: Otmar
Titel: RE: schlüsselfeld
Inhalt: Hallo !

Habe mir die beiden Funktionen mal angesehen. Allerdings ueberlasse ich dabei dann doch dem SQL Server die Verwaltung der Sessions, wobei ich keine Funktion gefunden habe, wie ich die Sessions abfragen kann (zumindest nicht mittels TransactSQL).
In den Beispielen der Doku wurde aber meistens mit Triggern eingefuegt, was ich eigentlich fast nie mache.

Ich habe mal bei einem groesseren Projekt nachgeschaut und versucht, Probleme die durch den Gebrauch von @@identity auftreten koennen nachzuvollziehen. Dabei habe ich gesehen, dass ich mir als Hilfe die CFID/CFTOKEN in ein Tempfeld speichere und es sowieso nur eine geringe Gruppe User gibt, die ueberhaupt eine neue ID anlegen duerfen (ist eine Projektnummer, welche sich dann durch die gesamte DB zieht).
Da ich aber kurz vor einem Redesign dieser Anwendung stehe, wo dann viel mehr User eine ID erstellen koennen sollen, werde ich dann umstellen.
>Auch das ist falsch den eine transaction versichert nur das alle befehle innerhalb der transactktion als eine einheit erfolgreich abgeschlossen werden. Mann sag Atomic dazu.
>
>Nun bedeuted das nicht unbedingt das die Tabelle gelocked wird sonst koennten ja nicht mehrere user gleichzeitig die datenbank/tabelle nutzen. Der SQL server benutzt verschieden locking mechanismen, die anders wo besser beschrieben sind.
>
>Fakt ist nur das eine Transaktion nicht verhindert das meherer user gleichzeitg in eine tabelle schreiben. Du kannst das aber mit isolation levels und locking hints steuren, ist aber nicht der sinn der sache.
>
>Am besten ist das im SQL Server 2000 Inside beschrieben (English) ist eines der besten sql buecher wen mann wissen moechte wie der server intern funktioniert.
>
>freut mich dir geholfen zu haben.
>
>cheers
>
>Marcel
>
>
>>So lernt man immer wieder was dazu. Vielen Dank !
>>
>>Ich bin aber davon ausgegangen, wie ich es bislang genutzt habe, und zwar in einer Transaction, so dass es hierbei eigentlich keine "Dazwischen-Schreiber" anderer User geben duerfte, oder sehe ich das falsch ?
>>
>>Wie dem auch sei, ich werde mir nachher mal die beiden Funktionen ansehen.
>>
>>>VORSICHT
>>>
>>>@@identidy gibt den letzten wert der in die datenbank eingetragen wurde denke aber was [S] wissen moechte ist die ID die gerade von dem user selbst eingetragen wurde die kann in einer multiuser umgebung naechmlich anders sein, das macht naehmlich mit SCOPE_IDENTITY
>>>
>>>Schau mal in der hilfe nach @@IDENTITY, SCOPE_IDENTITY, und IDENT_CURRENT sind alles aehliche funktionen aber unterscheiden sich wie sie den letzten eintrag ermitteln was oft SEHR wichtig ist
>>>
>>>
>>>
>>>>>wenn ich einen neuen eintrag eintrage wird das schlüsselfeld automatisch hochgezählt. Mit welcher sql-abfrage kann ich den wert vom schlüsselfeld des letzten eintrages abfragen.
>>>>>
>>>>
>>>>set @new_id = (select @@identity as 'identity')




Bitte melden Sie sich kostenlos an, um eine Antwort auf diesen Beitrag zu erstellen.


Das deutsche ColdFusion-Forum cfml.de ist das Portal für Einsteiger und Experten zum Thema ColdFusion und der ColdFusion Markup Language (CFML).

© 2017 Webdesign & Hosting: CHC ONLINE Kassel | SOLVA Content-Management-System CMS
Urlaub-Angebote.de - Urlaub mit Bestpreis-Garantie buchen