| 

.NET C# Java Javascript Exception

0
Hi ich habe ein Problem. Für eine Internetseite habe ich meine erste Datenbank aufgebaut und stehe jetzt vor einem logischen Dilemma.

Ich habe 6 Tabellen die je einezelne Daten enthalten, die ich mit Hilfe einer Mastertabelle, welche die IDs der Einzelnen enthält, verbinden will.

Mit Hilfe von Visual Web Developer 2008 habe ich alles erstellt und Beziehungen zwischen den Ids und der Mastertabelle definiert. Meine Fragen sind:

Wie fülle ich die Datenbank so das in der Mastertabelle die IDs eingetragen werden ???

Soll ich die Inserts sequenziell durchlaufen lassen ? Es kann Eine- zu Mehrpunktverbindungen geben. - Wie vergindere ich das Choas ???

Muss nach dem befüllen die IDs manuell in die Master schreiben?

Ich habe bis jetzt kein Tutorial gefunden, das meine Fragen beantwortet.

Vielen Dank im Voraus!
13.09.2010
Nibbes 23 3
2 Antworten
2
Das Schlüsselwort zum Sieg heißt Transaktionen.

Eine Transaktion kapselt eine Menge X an Datenmanipulationen auf einem Datenbankserver. Sollte wärend einer Transaktion eine Fehler auftreten, stellt die Transaktion sicher das der vorherige Zustand wiederhergestellt wird.

Ein Beispiel. Du willst in 3 Tabellen Werte verändern.

begin Transaction
Declare @Tbl_1_Id int
Declare @Tbl_2_Id int

Insert Into Table1 (Spalten, Spalten, Spalten) VALUES (Werte, Werte, Werte)
set @Tbl_1_Id = SCOPE_IDENTITY()

Insert Into Table2 (Spalten, Spalten, Spalten) VALUES (Werte, Werte, Werte)
set @Tbl_2_Id = SCOPE_IDENTITY()

update ...
delete ...

--Prüfen ob ein Fehler aufgetreten ist
if @@ERROR <> 0
rollback transaction --alle Manipulationen (Inserts, Delets, Updates) rückgängig machen
commit transaction --alle Mainpulationen übernehmen
13.09.2010
Floyd 11,0k 3 9
Super Lösung, Vielen Dank !!!
Nibbes 18.09.2010
3
Hallo,

Ich habe bis jetzt kein Tutorial gefunden, das meine Fragen beantwortet.

Siehe: Einführung in SQL
Darin ist alles bestens erklärt was du für dieses Problem brauchen wirst.

mfG Gü
13.09.2010
gfoidl 9,1k 3 5
1
+1 Grundsätzlich ja richtig aber man hätte ihm ruhig noch ein paar Stichworte mit auf den Weg geben können ;)
Floyd 13.09.2010

Stelle deine Datenbank-Frage jetzt!